起因
- 手头有两份数据集:
A数据集是“公司-年度”面板,其中有一个prov的文本型变量记录了每家公司所在省份的信息;
B数据集是省级截面数据,记录了省份的人均GDP等信息,其中有个province的数值型变量(数值-文本对照表),如图所示:
- 现在需要把两份数据通过省份进行合并,但是两个数据集的变量类型不同
- 思路:在B数据集中,利用province变量(数值-文本对照表),生成一个文本型变量prov,再利用prov变量将A数据集与B数据集进行合并;
代码
use dataset_B,clear
sort province
g provid = province //多生成一个表示省份的数值型变量
preserve
outsheet province provid using province.txt, replace noquote //导出省份名称文本到txt
insheet using province.txt, clear //将之导入Stata
rename province prov //重命名为prov
save province, replace //保存,下一步将它merge给dataset_B
restore
merge m:1 provid using province, nogen //merge给dataset_B
erase province.dta //删除临时文件
效果展示