Stata merge命令与'matched'变量的变量不匹配
我有两个数据集 其中包含我的大部分数据:Stata merge命令与'matched'变量的变量不匹配,stata,Stata,我有两个数据集 其中包含我的大部分数据: ISIN Name Year TotalAssets Turnover RoA Employees 1. Nr1 Bank1 2005 30.000 1 0,5 300 2. Nr1 Bank1 2006 31.000 1 0,3 300 3
ISIN Name Year TotalAssets Turnover RoA Employees
1. Nr1 Bank1 2005 30.000 1 0,5 300
2. Nr1 Bank1 2006 31.000 1 0,3 300
3. Nr1 Bank1 2007 28.000 1 0,3 280
4. Nr2 Bank2 2005 150.000 0 0,8 2000
5. Nr2 Bank2 2006 - 0 - 2200
6. Nr2 Bank2 2007 - 0 - 2200
7. Nr3 Bank3 2005 20.000 1 0,7 275
另一个包含来自第一个数据集的一些缺失信息:
ISIN Name Year TotalAssets RoA
1. Nr2 Bank2 2005 150.000 0,8
2. Nr2 Bank2 2006 180.000 1,3
3. Nr2 Bank2 2007 170.000 0,7
4. Nr2 Bank2 2008 150.000 0,4
当我使用以下方法组合这些数据集时:
merge 1:1 ISIN Year using "Dataset2"
出于某种原因,只有仅主控(1)
和仅使用(2)
匹配变量TotalAssets
和RoA
,而匹配(3)
为TotalAssets
和RoA
变量的每种情况提供缺失数据
合并的数据集如下所示:
ISIN Name Year TotalAssets Turnover RoA Employees _merge
1. Nr1 Bank1 2005 30.000 1 0,5 300 master only (1)
2. Nr1 Bank1 2006 31.000 1 0,3 300 master only (1)
3. Nr1 Bank1 2007 28.000 1 0,3 280 master only (1)
4. Nr2 Bank2 2005 150.000 0 0,8 2000 master only (1)
5. Nr2 Bank2 2006 - 0 - 2200 matched(3)
6. Nr2 Bank2 2007 - 0 - 2200 matched(3)
7. Nr2 Bank2 2008 150.000 - 0,4 - using only (2)
8. Nr3 Bank3 2005 20.000 1 0,7 275 master only (1)
但是,匹配的
没有显示它应该合并的变量的任何数据
我是否做错了什么,或者我该如何以更好的方式来做?查看
帮助合并
的选项,特别是更新
和替换
。在您的特定情况下,update
选项就足够了(\u merge==4
)。Stata将认为主数据集不可侵犯,除非您明确说明如何使用数据集处理中相同的命名变量。查看帮助合并
的选项,特别是更新
和替换
。在您的特定情况下,update
选项就足够了(\u merge==4
)。Stata将认为主数据集不可侵犯,除非您明确说明如何使用数据集处理中相同的命名变量。在这种特殊情况下,您需要的是合并
的更新
选项,而不是替换
以您的例子:
clear
input str10(ISIN) str10(Name) Year TotalAssets Turnover RoA Employees
Nr1 Bank1 2005 30000 1 0.5 300
Nr1 Bank1 2006 31000 1 0.3 300
Nr1 Bank1 2007 28000 1 0.3 280
Nr2 Bank2 2005 150000 0 0.8 2000
Nr2 Bank2 2006 . 0 . 2200
Nr2 Bank2 2007 . 0 . 2200
Nr3 Bank3 2005 20000 1 0.7 275
end
save data1, replace
clear
input str10(ISIN) str10(Name) Year TotalAssets RoA
Nr2 Bank2 2005 150000 0.8
Nr2 Bank2 2006 180000 1.3
Nr2 Bank2 2007 170000 0.7
Nr2 Bank2 2008 150000 0.4
end
save data2, replace
use data1,clear
merge 1:1 ISIN Year using data2, update
这给了你:
list
+----------------------------------------------------------------------------------+
| ISIN Name Year TotalA~s Turnover RoA Employ~s _merge |
|----------------------------------------------------------------------------------|
1. | Nr1 Bank1 2005 30000 1 .5 300 master only (1) |
2. | Nr1 Bank1 2006 31000 1 .3 300 master only (1) |
3. | Nr1 Bank1 2007 28000 1 .3 280 master only (1) |
4. | Nr2 Bank2 2005 150000 0 .8 2000 matched (3) |
5. | Nr2 Bank2 2006 180000 0 1.3 2200 missing updated (4) |
|----------------------------------------------------------------------------------|
6. | Nr2 Bank2 2007 170000 0 .7 2200 missing updated (4) |
7. | Nr2 Bank2 2008 150000 . .4 . using only (2) |
8. | Nr3 Bank3 2005 20000 1 .7 275 master only (1) |
+----------------------------------------------------------------------------------+
观察值7中缺少两个值,因为变量营业额
和员工
不在第二个数据集中。在这种特殊情况下,您需要的是合并
的更新
选项,而不是替换
以您的例子:
clear
input str10(ISIN) str10(Name) Year TotalAssets Turnover RoA Employees
Nr1 Bank1 2005 30000 1 0.5 300
Nr1 Bank1 2006 31000 1 0.3 300
Nr1 Bank1 2007 28000 1 0.3 280
Nr2 Bank2 2005 150000 0 0.8 2000
Nr2 Bank2 2006 . 0 . 2200
Nr2 Bank2 2007 . 0 . 2200
Nr3 Bank3 2005 20000 1 0.7 275
end
save data1, replace
clear
input str10(ISIN) str10(Name) Year TotalAssets RoA
Nr2 Bank2 2005 150000 0.8
Nr2 Bank2 2006 180000 1.3
Nr2 Bank2 2007 170000 0.7
Nr2 Bank2 2008 150000 0.4
end
save data2, replace
use data1,clear
merge 1:1 ISIN Year using data2, update
这给了你:
list
+----------------------------------------------------------------------------------+
| ISIN Name Year TotalA~s Turnover RoA Employ~s _merge |
|----------------------------------------------------------------------------------|
1. | Nr1 Bank1 2005 30000 1 .5 300 master only (1) |
2. | Nr1 Bank1 2006 31000 1 .3 300 master only (1) |
3. | Nr1 Bank1 2007 28000 1 .3 280 master only (1) |
4. | Nr2 Bank2 2005 150000 0 .8 2000 matched (3) |
5. | Nr2 Bank2 2006 180000 0 1.3 2200 missing updated (4) |
|----------------------------------------------------------------------------------|
6. | Nr2 Bank2 2007 170000 0 .7 2200 missing updated (4) |
7. | Nr2 Bank2 2008 150000 . .4 . using only (2) |
8. | Nr3 Bank3 2005 20000 1 .7 275 master only (1) |
+----------------------------------------------------------------------------------+
观察7中有两个缺失值,因为变量<代码>周转< /代码>和<代码>雇员<代码>在第二个数据集中不存在。
如果您发现我的答案有用,请考虑使用检查标记来接受它。如果您发现我的答案有用,请考虑使用复选标记来接受它。