我有以下数据集:
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的所有记录?
答案 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 |
+-------------------+