系统自带的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