【毕设记录】Stata匹配合并数据

Tip:在CSMAR下载的时候一定不要下载“xxxx转stata”,会有数值数据/文本数据乱码丢失的情况

(具体经过是我和师姐牛头不对马嘴隔空交流半天,我说有上市公司地址重复了,师姐说怎么会呢,最后我又下载了一份excel的,发现所谓“重复数据”其实是不同年份,原来下载的扭曲成了奇怪的样子)

Q:如果我要同时匹配两个表里的两个变量,比如a表和b表里的year和province_name,都要一样,这种情况是不是只能用m:m(借用知乎网友提的问题)

A:我看了看一般都不推荐 m:m;1:m 会报错 do not uniquely identify observations;joinby不知道为什么会清空所有数据;

找到一个方法是:

建议先用duplicates report code country查查看是否有重复值,如果没有重复值,使用egen下的group命令产生一个新代码,例如 egen newcode=group(code country),此时用merge 1:1 newcode using ...应该就没问题了。

急!求助大神:用两个变量的merge - Stata专版 - 经管之家(原人大经济论坛) (pinggu.org)

我的好像是用m:1

Q:merge合并的时候出现了long格式和long格式匹配不上的问题,例如A文件的“爱尔兰”与B文件的“爱尔兰”“Ireland”,用merge 1:m year country匹配,结果匹配错误“爱尔兰”-“USA”

A:有两种可能

一是merge本身会抽风,可以把原数据拆分成一年一年的,然后逐一匹配;

二是long格式的问题,B文件里的long格式“爱尔兰”,是我用encode强行从str变为long的,虽然A和B的爱尔兰看起来一样,其实是不同的数字串,应该先全部decode变成str再匹配。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值