【发布时间】:2013-09-30 11:08:41
【问题描述】:
我希望能够编写if 表达式而不必求助于大量的或“|”运营商。例如:
drop if x==1 | x==3 | x==5 | x==7
有没有更简单的写法,即:
drop if x==one of (1,3,5,7)
我意识到 for 循环可以工作,但这不是一个非常整洁的解决方案。
【问题讨论】:
标签: if-statement stata
我希望能够编写if 表达式而不必求助于大量的或“|”运营商。例如:
drop if x==1 | x==3 | x==5 | x==7
有没有更简单的写法,即:
drop if x==one of (1,3,5,7)
我意识到 for 循环可以工作,但这不是一个非常整洁的解决方案。
【问题讨论】:
标签: if-statement stata
您可以为此使用inlist
sysuse auto
tab rep78
Repair |
Record 1978 | Freq. Percent Cum.
------------+-----------------------------------
1 | 2 2.90 2.90
2 | 8 11.59 14.49
3 | 30 43.48 57.97
4 | 18 26.09 84.06
5 | 11 15.94 100.00
------------+-----------------------------------
Total | 69 100.00
keep if inlist(rep78,1,2,3)
tab rep78
Repair |
Record 1978 | Freq. Percent Cum.
------------+-----------------------------------
1 | 2 5.00 5.00
2 | 8 20.00 25.00
3 | 30 75.00 100.00
------------+-----------------------------------
Total | 40 100.00
【讨论】: