2016-02-04 32 views
0

当在Stata中两个数据集合并时,基于一个数据集中非唯一的变量,将x:x合并似乎不是一个有用的工具。什么策略会产生预期的结果?如何基于两个数据集中非唯一的标识符合并数据集

程式化例如:

dataSet1的

AssetManager | Bankcode 
A    1 
B    2 
B    3 
C    3 

Dataset2

Bankcode | t  
1   t1   
1   t2  
2   t1  
2   t2  
3   t1  
3   t2  

目的:

AssetManager | Bankcode | t 
A    1   t1 
A    1   t2 
B    2   t1 
B    2   t2 
B    3   t1 
B    3   t2 
C    3   t1 
C    3   t2 

直觉: 一些资产管理公司可以由多家银行持有,而一些银行也拥有多家资产管理公司。

+0

运行'帮助joinby'。 –

+0

而不是'merge x:x',我认为你的意思是'merge m:m'。 –

+0

合并'x:x'意味着包含'1:m,m:1,m:m'。 – Luks

回答

1

不鼓励使用merge m:m(请阅读Stata手册中的相应条目),许多人支持它的消除。尝试joinby

clear 
set more off 

input /// 
str1 AssetManager Bankcode 
A    1 
B    2 
B    3 
C    3 
end 

tempfile first 
save "`first'" 

clear 

input /// 
Bankcode str2 t  
1   t1   
1   t2  
2   t1  
2   t2  
3   t1  
3   t2  
end 

joinby Bankcode using "`first'" 

sort AssetManager Bankcode t 
order AssetManager Bankcode 
list, sepby(AssetManager) 
+0

谢谢罗伯托 – Luks

相关问题