我有一个包含城市名称和匹配邮政编码的大型数据集。城市名称和邮政编码可能会多次出现。我需要了解数据集中的城市和邮政编码。因此,我想提取一个列表,仅显示城市和邮政编码的唯一组合。
Example:
City Postcode
x 123
y 456
x 123
z 342
p 256
z 342
x 321
我想得到:
City Postcode
x 123
y 456
z 342
p 256
x 321
我设法在R中做到了,但我不知道如何在Stata中做到这一点......
答案 0 :(得分:1)
正如经常发生的那样,显示唯一组合的请求在不同组合方面更好地表达。兴趣不在于仅出现一次的那些组合。有关Stata中不同观察的概述,请参阅this paper。
以下是解决问题的两种方法。首先,egen
函数tag()
只标记在指定变量上相同的每组观察中的一个。
clear
input str1 City Postcode
x 123
y 456
x 123
z 342
p 256
z 342
x 321
end
egen tag = tag(City Postcode)
list City Postcode if tag , noobs
+-----------------+
| City Postcode |
|-----------------|
| x 123 |
| y 456 |
| z 342 |
| p 256 |
| x 321 |
+-----------------+
其次,groups
是一个便利命令,默认情况下为不同的交叉组合提供频率和百分比。您必须先安装它才能使用它。您可以使用选项显示更多(实际上更少)的结果。
. ssc install groups
. groups City Postcode
+-----------------------------------+
| City Postcode Freq. Percent |
|-----------------------------------|
| p 256 1 14.29 |
| x 123 2 28.57 |
| x 321 1 14.29 |
| y 456 1 14.29 |
| z 342 2 28.57 |
+-----------------------------------+
有关groups
的一些一般性评论,请参阅this post。
答案 1 :(得分:0)
查找duplicates命令。