Stata and R:
我正在合并两个横截面数据集。这两个数据集的国家数量相等,只有一个数据集的年份(年)为零。问题是缺少的年份根本没有记录,所以我需要创建一个新变量来添加没有其他数据的年份。否则,我无法根据国家和年份这两个键合并数据集。
在Stata中并非如此(我对R中的问题感到惊讶,但其他人必须说到这一点)。
缺失的观测值——在这个上下文中以及任何类似的更好地称为缺失的——不是问题。这里有一个演示。merge
足够聪明,可以注意到缺口,并将其明确为缺失。你可以"修复"他们自己在merge
之前,但这是毫无意义的。
clear
input state year y
1 2019 1
1 2020 2
2 2019 3
2 2020 4
end
save tomerge
clear
input state year x
1 2019 42
2 2019 84
end
merge 1:1 state year using tomerge
list
结果
. merge 1:1 state year using tomerge
Result Number of obs
-----------------------------------------
Not matched 2
from master 0 (_merge==1)
from using 2 (_merge==2)
Matched 2 (_merge==3)
-----------------------------------------
.
. list
+----------------------------------------+
| state year x y _merge |
|----------------------------------------|
1. | 1 2019 42 1 Matched (3) |
2. | 2 2019 84 3 Matched (3) |
3. | 1 2020 . 2 Using only (2) |
4. | 2 2020 . 4 Using only (2) |
+----------------------------------------+
换句话说,1:1作为语法指定了整个模式,不排除0:1或1:0匹配。如果标识符不匹配,merge
实际上是append
。您确实需要关键变量在两个数据集中以相同的名称存在。