2016-02-04 72 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

相關問題