Stata的。如何匹配1:m关系中的值?

时间:2013-06-08 05:41:05

标签: merge stata

我有两个数据集。第一个是:

countyGroup income  other_data_
    1       20990   …
    2       25622   …
    3       24289   …
    4       27391   …
    5       23326   …
    6       19261   …
    7       15197   …
    8       11132   …

第二个是:

countyGroup state   county  other_data
    1       IL      123     …
    1       IL      123     …
    2       MI      365     …
    1       IL      123     …
    3       AK      65      …
    4       IL      546     …
    5       MI      689     …
    6       AK      32      …

变量countyGroup唯一标识statecounty。第二个数据集包含countyGroupstatecounty。第一个数据集仅包含countyGroup。我需要在第一个数据集中生成两个变量(statecounty)。

我尝试使用merge匹配值:

use dataset1
merge 1:m countyGroup using dataset2, keepusing(state state cntyfp) update replace

我得到的结果是重复的行...我试过1:1它不起作用...我总是drop那些重复的行,但我想从它们正确地合并它们开始。

1 个答案:

答案 0 :(得分:3)

我们需要知道重复的行(Stata的术语是“观察”)。如果它们在所有变量上都相同,则没有额外的信息,并且使用duplicates dropmerge之前将它们排除在外是最简洁和最简单的。

duplicates是管理重复项的常用工具。

如果其他变量有不同的信息,请告诉我们更多关于这是什么以及您的目标。

(稍后)使用您发布的数据集

   merge 1:m countyGroup using dataset2

似乎工作正常。