Merge 斯塔塔。如何匹配1:m关系中的值?

Merge 斯塔塔。如何匹配1:m关系中的值?,merge,stata,Merge,Stata,我有两个数据集。第一个是: countyGroup income other_data_ 1 20990 … 2 25622 … 3 24289 … 4 27391 … 5 23326 … 6 19261 … 7 15197 … 8 11132 … 第二个是: countyGroup state c

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

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
唯一标识
州和
县。第二个数据集包含
县组
。第一个数据集只包含
countyGroup
。我需要在第一个数据集中生成两个变量(
state
county

我尝试使用
merge
匹配这些值:

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

我得到的结果是重复的行…我尝试了
1:1
但没有成功…我总是可以
drop
那些重复的行,但我想从一开始就正确地合并它们

我们需要了解重复行(Stata的术语是“观察”)。如果它们在所有变量上都是相同的,那么就没有额外的信息,在合并之前,使用
重复项拖放
将它们清除是最干净、最简单的方法

副本
是管理副本的通用工具

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

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

   merge 1:m countyGroup using dataset2

看起来很好用

这两个初始数据集不包含重复的观测值。但是,如果我按照上面的方式合并它们,结果数据集将具有重复项。您显示的内容包括第二个数据集中前三个变量的重复项。如果观察结果在其他变量上有所不同,那么问题究竟是什么?如果他们在其他变量上没有差异,我的答案适用。总的来说,我认为你没有展示足够的信息来解释你的问题是什么。你能举一个最简单的现实例子吗?它们确实不同。这就是行不重复的原因。1) 第一个数据集包含每个
countyGroup
的聚合值,该值是唯一的。2) 第二个数据集是每个人的单个值。它还包含个人关于
countyGroup
state
countyGroup
的信息(
countyGroup
唯一标识
state
county
)。3) 我的目标是在给定唯一的
countyGroup
的情况下,在第一个数据集中生成
state
county
变量。但是,由于有许多人可能生活在同一个
countyGroup
,我只是在结果表中得到了重复的描述。对不起,我的头脑没有吸收这些描述,尽管它们毫无疑问是合乎逻辑的。我需要能够看到并使用一个真实的示例。以下是指向我的Stata文件的链接:dataset1:///dataset2:///实际上,我认为Stata缺少
map
命令,应该在Stata 13中创建该命令。