stata: merge 合并

时间:2021-04-13
本文章向大家介绍stata: merge 合并,主要包括stata: merge 合并使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一般来说,用到stata进行数据合并,都应该是用1:1合并,这才能一一对应,所以,非一一对应的合并我就不说了。免得混乱。
    一般来说,善用生成的 _merge 变量来删除不要的匹配,再加上知道下面的几种情况怎么匹配,基本上已经够用了。
    (merge的用于匹配的变量格式必须一致,格式不一致的请参照命令help recast)
首先分析一下,用什么指标能唯一地识别出一个数据?显然,对应上面这个面板数据,用year和id两个指标,就能唯一的指明某一条数据。所以我们应用year和id这个组合来进行匹配。
        然后,选择其中一个数据集合作为原本的数据集合。另一个数据集合就用来匹配,匹配成功后就加进原来数据集里面。
        所以,上述的操作代码为:

//加载数据集1.dta
use "C:\Users\Administrator\Desktop\1.dta"
//根据year id两个维度来匹配数据
merge 1:1 year id using "C:\Users\Administrator\Desktop\2.dta"

互补的数据,你有我没有,我有你没有,我们只需要非空值。
要合并这个方法很简单,加一个update选项就可以了。update的意思是,如果原来的数据集合该数据为空,那么就使用匹配数据集里面的非空数据替换掉空数据。

//加载数据集1.dta
use "C:\Users\Administrator\Desktop\1.dta"
//根据year id两个维度来匹配数据
merge 1:1 year id using "C:\Users\Administrator\Desktop\2.dta",update

数据集1和数据集2的 var3 变量里面,有一部分是重叠的如果你想要原数据集(也就是数据集1)作为正确的数据,也就是这个:

//加载数据集1.dta
use "C:\Users\Administrator\Desktop\1.dta"
//根据year id两个维度来匹配数据
merge 1:1 year id using "C:\Users\Administrator\Desktop\2.dta",update

但是如果你认为匹配数据集(也就是数据集2)的数据才是正确的,也就是这样:

//加载数据集1.dta
use "C:\Users\Administrator\Desktop\1.dta"
//根据year id两个维度来匹配数据
merge 1:1 year id using "C:\Users\Administrator\Desktop\2.dta",update replace

merge 需要注意的事项:

m:1 表示keyword在using文件中必须是唯一没有重复的的
1:m 表示keywords在master文件中必须是唯一没有重复的

原文地址:https://www.cnblogs.com/celine227/p/14653993.html