楼主: 我是妮妮
2659 6

[数据管理求助] stata中merge合并问题 [推广有奖]

  • 0关注
  • 1粉丝

本科生

0%

还不是VIP/贵宾

-

威望
0
论坛币
95 个
通用积分
0.0118
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3073 点
帖子
43
精华
0
在线时间
66 小时
注册时间
2006-5-12
最后登录
2022-5-29

楼主
我是妮妮 发表于 2021-9-1 10:49:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我对数据进行了三次merge合并,第一次跟第二次合并后数据未变动太大,但第三次合并后数据差不多翻了一倍,这是为啥,这是正常的吗?请大佬解答下,谢谢!
下面分别是我三次合并。

第一次:


use "C:\Users\马玉\Desktop\新加坡(关税)2007.dta",clear


. merge m:m HS2007 using "C:\Users\马玉\Desktop\数据匹配\2007-2002.dta"


    Result                           # of obs.
    -----------------------------------------
    not matched                         3,117
        from master                         0  (_merge==1)
        from using                      3,117  (_merge==2)


    matched                             2,701  (_merge==3)


    -----------------------------------------




第二次:
use "C:\Users\马玉\Desktop\数据匹配\新加坡(2007-2002).dta",clear


. merge m:m HS2002 using "C:\Users\马玉\Desktop\数据匹配\GBHS.dta"


    Result                           # of obs.
    -----------------------------------------
    not matched                         4,156
        from master                       479  (_merge==1)
        from using                      3,677  (_merge==2)


    matched                             2,704  (_merge==3)

    -----------------------------------------

第三次:
use  "C:\Users\马玉\Desktop\数据匹配\新加坡制造业匹配.dta",clear


. merge m:m HS2002 using "C:\Users\马玉\Desktop\数据匹配\HS2002-BEC.dta"


    Result                           # of obs.
    -----------------------------------------
    not matched                     1,045,812
        from master                     1,575  (_merge==1)
        from using                  1,044,237  (_merge==2)


    matched                             4,534  (_merge==3)
    -----------------------------------------



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Merge Stata tata

沙发
917968079 发表于 2021-9-1 11:13:24
你这三次匹配的也不是相同的数据集,不一样不是很正常么,另外最好不要用m:m

藤椅
我是妮妮 发表于 2021-9-1 11:20:11
917968079 发表于 2021-9-1 11:13
你这三次匹配的也不是相同的数据集,不一样不是很正常么,另外最好不要用m:m
不是不一样的问题,是数据变多了很多,虽然我匹配了三次,但最终目的是将初始数据跟BEC中的中间品匹配。

板凳
我是妮妮 发表于 2021-9-1 12:54:32
我第三次合并用1:m时,总是报错说HS2002不是唯一识别的变量,请问各位这是为什么呢

报纸
一串乱码 发表于 2021-10-21 10:57:15
楼主解决了吗?我也是用的m:m 匹配的家庭代码,结果匹配之后我的原变量样本数变多了

地板
赵安豆 发表于 2024-8-4 08:31:24
在Stata中,`merge`命令用于将两个数据集根据一个或多个关键字(key variable)进行合并。当您提到第三次合并后数据量翻倍时,这通常表示您的原始数据集与目标数据集之间存在大量的“非匹配”记录。

这里的"非匹配"指的是在第二次合并后的数据集中找不到对应于第三个数据集的记录。但是,在`merge`操作中,根据设置的不同(比如使用了1:m、m:1或m:m类型),Stata可能将这些未找到匹配项的数据与目标数据集中的每个观察值都进行连接,从而导致结果数据集大小显著增加。

例如:
- 如果您执行的是1:m类型的合并,并且您的原始数据集中有多个记录在关键字上与目标数据集的一个记录相匹配,那么目标数据集的每个记录将被复制多次以匹配原始数据集中的所有对应项。
- 同样地,m:1类型或m:m类型的合并也可能由于多重匹配而增加数据量。

此外,如果您的第三个数据集中包含大量观察值,并且这些观察值在之前的合并中未找到对应的配对,则每一对这样的“非匹配”组合都将在最终的数据集中创建一个新记录。这就是为什么您可能看到数据集大小显著增加的原因。

解决方法通常包括:
- 检查并确认每个`merge`操作的类型(1:1、1:m、m:1或m:m)是否正确。
- 确认关键字(key variable)的选择和格式在所有要合并的数据集中都一致且准确无误。
- 在进行最终合并前,使用`merge 1:1 varname`检查数据集之间的匹配程度,这可以帮助您理解预期的结果数据集大小。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



7
591596 发表于 2024-8-4 16:41:47
说明第三次合并过程中出现重复值,你要看下显示是主表还是被合并表 master还是using,根据你的描述应该是第三个表出问题,
使用duplicates drop Stkcd,force删除重复观察数据再试一次

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-28 02:02