创建pid列表

时间:2018-11-20 19:46:29

标签: stata

我想创建一个列表,其中包含已使用的pid的值:

pid used
6754 1
9809 1
6434 0
2654 1
7645 1
8979 0
5422 0
1287 1
9875 1
8765 1
7556 0

我尝试了以下方法:

generate list=pid if used==1

但是,此命令将所有内容放在不同的行中。

您能帮我创建此列表吗?

1 个答案:

答案 0 :(得分:4)

separate()命令的levelsof选项在这里是您的朋友:

clear

input pid used
6754 1
9809 1
6434 0
2654 1
7645 1
8979 0
5422 0
1287 1
9875 1
8765 1
7556 0
end

levelsof pid if used == 1, separate(",") local(pidlist)

这会将所有使用的pid值存储在本地宏pidlist中:

display "`pidlist'"
1287,2654,6754,7645,8765,9809,9875

然后,您可以根据需要创建变量:

generate pidlist = "`pidlist'"

list pidlist in 1

     +------------------------------------+
     |                            pidlist |
     |------------------------------------|
  1. | 1287,2654,6754,7645,8765,9809,9875 |
     +------------------------------------+

请注意,始终最好避免使用Stata使用的变量名 作为命令。