这应该是一种很常见的情况,如我们要:
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如下:
- * Example generated by -dataex-. To install: ssc install dataex
- clear
- input int(mpg rep78)
- 22 3
- 17 3
- 22 .
- 20 3
- 15 4
- 18 3
- 26 .
- 20 3
- 16 3
- 19 3
- 14 3
- 14 2
- 21 3
- 29 3
- 16 4
- 22 3
- 22 2
- 24 2
- 19 3
- 30 5
- 18 2
- 16 2
- 17 2
- 28 4
- 21 3
- 12 3
- 12 3
- 14 3
- 22 4
- 14 4
- end
谢谢您的解答!


雷达卡






非常有用
京公网安备 11010802022788号







