保留所有记录的特定ID

时间:2019-09-09 20:24:56

标签: stata

我有以下数据集:

clear

input id code cost
1 15342 18
2 15366 12
1 16786 32
2 15342 12
3 12345 45
4 23453 345
1 34234 23
2 22223 12
4 22342 64
3 23452 23
1 23432 22
end

我想获得以下输出:

id    code   cost  
 1   15342     18  
 2   15366     12  
 1   16786     32  
 2   15342     12  
 1   34234     23  
 2   22223     12  
 1   23432     22  

我尝试使用此命令,但是它不起作用:

keep if id = (1|2)

如何保留特定ID的所有记录?

1 个答案:

答案 0 :(得分:2)

以下对我有用:

keep if id == 1 | id == 2

或者,您可以使用inlist()函数:

keep if inlist(id, 1, 2)

在这种情况下(更常见的是当所需ID连续时),inrange()函数也将起作用:

keep if inrange(id, 1, 2)

在所有情况下的结果:

list, separator(0)

     +-------------------+
     | id    code   cost |
     |-------------------|
  1. |  1   15342     18 |
  2. |  2   15366     12 |
  3. |  1   16786     32 |
  4. |  2   15342     12 |
  5. |  1   34234     23 |
  6. |  2   22223     12 |
  7. |  1   23432     22 |
     +-------------------+