if-statement - (命令) if x==stata 中的列表

标签 if-statement stata

我希望能够编写 if 表达式,而不必求助于大量或“|”运营商。例如:

drop if x==1 | x==3 | x==5 | x==7

有没有更简单的方法来编写这个即:

drop if x==one of (1,3,5,7)

我意识到 for 循环可以工作,但这不是一个非常整洁的解决方案。

最佳答案

您可以使用 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

关于if-statement - (命令) if x==stata 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19092699/

相关文章:

c - 减少 C 中的 If 语句

c - 这是一个有效的 Tic Tac Toe 获胜条件检查器功能吗?

r - 在 R 中设置行长度

stata - 在 Stata coefplot 中编辑置信区间

r - 如何将 R session 记录到文件?

通过一次调用运行 ifelse x 次(准迭代,直到满足条件)

当我尝试使用 IF 语句时 mySql 查询错误

android - 如果 ("a"== "a") 不工作

r - 使用 R 中的调查数据进行 Box-Cox 变换

interaction - Stata 中的非线性交互项