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中创建该命令。