全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
48850 8
2020-07-05
如题,采用sysuse auto, clear 数据集为例,来表达我的困惑:
这应该是一种很常见的情况,如我们要:
gen oddnum=0
replace oddnum=1 if (mpg==13 |  mpg==15 |  mpg==17 |  mpg==19 |  mpg==21 |  mpg==23) &  (rep78 ==1 | rep78 ==3 | rep78 ==5)

第一:就是当我的if 条件同时存在多个,比如数据集较大、变量值较多,那么需要写很多个“   |   &   ” 这样的条件才可以实现。很麻烦而且很长,能不能只写一个 if (mpg== 13 | 15 | 17 |) ... &  (rep78==...   |   ...)这种的语句?(实际上好像是不行的)
或者其他方法可以实现吗?
第二:如果要采用循环语句,应该怎么实现呢?是否有较为通用的语句样式呢。dataex如下:

复制代码


谢谢您的解答!

二维码

扫码加我 拉你入群

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

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

全部回复
2020-7-6 09:34:32
你的第一个可以考虑用inlist这个去简写一下。
关于循环的要求没明白,可以将自己的要求说更清楚一些
二维码

扫码加我 拉你入群

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

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

2020-7-6 10:05:36
或许可以考虑
复制代码
二维码

扫码加我 拉你入群

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

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

2020-7-7 09:55:42
黃河泉 发表于 2020-7-6 10:05
或许可以考虑
就是这个意思!可能是我的检索策略不对,之前没看过inlist语句。谢谢老师指教!
二维码

扫码加我 拉你入群

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

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

2020-7-7 09:57:15
ritaing 发表于 2020-7-6 09:34
你的第一个可以考虑用inlist这个去简写一下。
关于循环的要求没明白,可以将自己的要求说更清楚一些
嗯嗯是的,循环方面我可能没表述清楚。inlist是个好语句!谢谢老师!
二维码

扫码加我 拉你入群

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

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

2021-7-29 22:27:16
黃河泉 发表于 2020-7-6 10:05
或许可以考虑
感谢 刚好用到
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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