Stata中标识符变量名不同时,无需手动修改如何合并数据集?
样本数据
数据集1
| Location | X |
|---|---|
| LA | 10 |
| San Diego | 12 |
| New York | 15 |
| Mumbai | 9 |
数据集2
| City | Y |
|---|---|
| LA | 8 |
| San Diego | 2 |
| New York | 5 |
| Mumbai | 12 |
Stata合并方案
你可以直接借助Stata的merge命令,通过指定匹配变量映射的方式完成合并,无需修改原数据集文件。假设两个数据集分别保存为data1.dta(含Location、X列)和data2.dta(含City、Y列),操作步骤如下:
- 加载第一个数据集:
use "data1.dta", clear
- 执行合并命令,指定用当前数据集的
Location匹配第二个数据集的City,同时仅保留Y变量,不生成默认的匹配状态标识变量:
merge 1:1 Location using "data2.dta", match(City) keepusing(Y) nogenerate
执行后即可得到包含Location、X、Y三列的合并数据集,原数据集内容不会被改动。如果需要查看匹配状态(比如哪些观测仅存在于单个数据集),可以去掉nogenerate选项,此时会生成_merge变量,取值1代表仅在第一个数据集、2代表仅在第二个数据集、3代表两个数据集都存在。
内容的提问来源于stack exchange,提问作者StrugglingMastersStudent
相关产品推荐
相关产品推荐

