全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
7641 7
2016-11-16
对附件中的数据进行操作
目标:产生一个新变量叫ibtic,对于tic=tic1的公司,把ibtic1的值复制到ibtic中
开始写的程序如下:
                                 gen str6 ibtic=""
                                 replace ibtic=ibtic1 if tic==tic1
                                 可以达到效果

问题:我因为要附加其他很多条件,想改用if循环语句,写成如下样式:
                                 gen str6 ibtic=""
                                 if tic==tic1 {
                                      replace ibtic=ibtic1
                                 }

执行后所有ibtic仍为空缺值,为什么会这样?我应该怎么写呢?谢谢!


附件列表

a.dta

大小:7.06 MB

 马上下载

提问中用到的data

二维码

扫码加我 拉你入群

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

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

全部回复
2016-11-17 19:07:19
为什么木有人回答
二维码

扫码加我 拉你入群

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

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

2016-11-19 10:50:33
我再顶一下
二维码

扫码加我 拉你入群

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

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

2016-11-19 11:51:40
你直接 gen ibtic=ibtic1 if tic==tic1应该就可以了if不是像你这么用的。你得对每个replace命令都加上适当的if条件。看一下help if
二维码

扫码加我 拉你入群

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

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

2016-11-19 13:06:48
夏目贵志 发表于 2016-11-19 11:51
你直接 gen ibtic=ibtic1 if tic==tic1应该就可以了if不是像你这么用的。你得对每个replace命令都加上适当的 ...
可是写成循环以后,if写在括号外面了,括号内写什么命令都没有反应,我看过help if的说明文件了,可是还是看不出哪里有问题。谢谢
二维码

扫码加我 拉你入群

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

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

2016-11-19 13:21:48
宜风 发表于 2016-11-19 13:06
可是写成循环以后,if写在括号外面了,括号内写什么命令都没有反应,我看过help if的说明文件了,可是还是 ...
你还是没弄明白两者的区别。看看这里吧http://www.stata.com/support/faq ... ersus-if-qualifier/

你要附加什么条件啊?
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群