Stata如何快速查询唯一变量组合?

系统自带的isid 用来判断某个变量或某些变量组合是否唯一,是的话可以生成一个uniqueid,便于以后的数据分析。但如何快速判断哪些最小变量组合唯一呢?美国西北大学凯洛格商学院 (Northwestern University Kellogg School of Management)的Riccardo Marchingiglio开发了Stata社区命令findunique,用来简化这一操作。

安装Stata社区命令findunique,Stata命令如下:


ssc install findunique,replace
*安装依赖命令
ssc install tuples,replace
ssc install unique,replace

读取演示数据,Stata代码如下:

clear
input country village year household
 11        19        1960      1
  1       119        1960      1
111         9        1960      1
 11        19        1960      2
  1       119        1960      2
111         9        1960      2
 11        19        1961      1
  1       119        1961      1
111         9        1961      1
 11        19        1961      2
  1       119        1961      2
111         9        1961      2
 11        19        1962      1
  1       119        1962      1
111         9        1962      1
 11        19        1962      2
  1       119        1962      2
111         9        1962      2
end

开始查询,Stata代码如下:

*列出所有符合唯一的变量组合
findunique *
list,separator(3)
*列出符合唯一的最少变量组合
findunique *, first
list,sep(3)
*列出符合唯一的最少变量组合,并对其进行升序排序
findunique *, first sort
list,sep(3)

可以看出,生成唯一识别变量的变量组合有三种,分别如下:

  • village year household
  • country year household
  • country village year household

我们可以再用isid命令判断一下,Stata代码如下:

*不报错,说明唯一
isid village year household
isid country year household
isid country village year household

如果加选项first,则识别组合1为最小组合。然后就可以根据结果生成唯一变量了,方法见 Stata如何快捷地生成唯一识别符?

完,本文内容交流请移步:http://www.epiman.cn/thread-87460-1-1.html