全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2542 6
2021-09-01
我对数据进行了三次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)
    -----------------------------------------



二维码

扫码加我 拉你入群

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

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

全部回复
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学术大模型生成,添加下方二维码,优先体验功能试用



二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群