最近在研究数据合并,自己琢磨了好久,从论坛、各种网站学习了很多,一点个人经验之谈,首先合并比较常用的命令有merge ,mergemany,joinby,主要讲讲mergemany和joinby。首先,mergemany命令的数据合并,以CHNS数据举例如下:
在进行1对1合并的时候,特别是有多个数据集进行合并,mergemany使用就特别方便,但是不足之处是好像不能用于一对多或者多对一。
第二个,joinby的命令使用,举例如下:
注意一,在数据合并使用joinby命令的时候,后面的选项
unmatched(both)_merge(_merge)写上的话表示结果包括所有的观测值,如果去掉的话,stata只会显示匹配成功的数据,匹配未成功的数据不会显示。
注意二,在数据合并使用joinby命令的时候,
drop _merge要加上,表示去掉 _merge这个变量,要不然,进行第二步joinby数据合并的时候,会出现[color=rgba(255, 255, 0, 0)]"variable _merge already defined"这个错误,但是使用mergemany的时候不需要这一个步骤。
经过自己的测试,上述mergemany和joinby 合并最终结果是一样的。
最后提一点自己的小疑问,在使用merge的时候 ,通常比较顺利,但是偶尔也会出现报错,比如有的数据在merge时候总是报错 “变量不是唯一的标识”,但是检查之后发现也没有重复的变量,但是用joinby命令 就可以匹配 成功,不知道问题出现在哪里?希望有人解答一下我的这个疑惑。