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再匹配。