楼主: fulishadawang
4153 3

[数据管理求助] 关于stata里两种if语句区别的疑问 [推广有奖]

  • 0关注
  • 1粉丝

硕士生

98%

还不是VIP/贵宾

-

威望
0
论坛币
70 个
通用积分
0.2506
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
116 点
帖子
4
精华
0
在线时间
440 小时
注册时间
2012-11-8
最后登录
2025-12-2

楼主
fulishadawang 发表于 2016-3-22 20:00:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大神,请教一下stata里的两种if语句有什么区别。我知道正常来说应该是replace d=c if a==1这样子的,但是我看到有的人用类似于下面这样的编写形式:if a==1{  replace d=c
}
比如
         forvalues x = 1/4 {
if mod(`x',2) {
display "`x' is odd"
continue
}
display "`x' is even"
}

我想问一下这两种写法有区别么?我用数据试了一下两种方法得到的结果不一样。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Stata tata forvalues forvalue continue

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
沈金金 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

沙发
夏目贵志 发表于 2016-3-24 10:55:52
这个是不一样的。你说的第一个if是用来在别的命令里添加条件的筛选数据的。具体的看help if
你说的第二个if是编程的命令,和for、while这样的命令是一类的。具体的看help ifcmd
这两者之间是不能相互替代的。

藤椅
fulishadawang 发表于 2016-3-26 10:30:10
夏目贵志 发表于 2016-3-24 10:55
这个是不一样的。你说的第一个if是用来在别的命令里添加条件的筛选数据的。具体的看help if
你说的第二个i ...
太感谢了!!我看到在ifcmd里,if a==1{  }里仅仅是对a的第一个值判断是否等于1,我在help里没有找到相关表述,但我试了一下好像是这样的,请问这种说法有道理么?

板凳
夏目贵志 发表于 2016-3-28 07:34:20
fulishadawang 发表于 2016-3-26 10:30
太感谢了!!我看到在ifcmd里,if a==1{  }里仅仅是对a的第一个值判断是否等于1,我在help里没有找到相关 ...
我也一下想不起来哪里说过但是我的经验也是这样的

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-3 05:47