列出所有独特的组合

时间:2015-10-27 08:49:28

标签: unique combinations extract stata

我有一个包含城市名称和匹配邮政编码的大型数据集。城市名称和邮政编码可能会多次出现。我需要了解数据集中的城市和邮政编码。因此,我想提取一个列表,仅显示城市和邮政编码的唯一组合。

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中做到这一点......

2 个答案:

答案 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命令。