2016-12-03 225 views
-1

我有兩個數據幀,有一些重疊的變量,有些沒有。每個變量都有一個屬性(變量頻率),我需要將這兩個結合成一個數據幀,其中結果是兩列屬性,一列對應第一個數據幀,第二列對應第一個數據幀,所有變量都被表示出來。如何合併兩個數據幀R

數據幀1:

var frequency 
a 3 
b 2 
d 5 

數據幀2:

var frequency 
a 2 
b 3 
c 3 

得到的數據幀:

var frequency1 frequency2 
a 3   2 
b 2   3 
c 0   3 
d 5   0 

感謝您的幫助。

回答

1

這似乎爲我工作:

df1 = read.csv('df1.csv') 
df2 = read.csv('df2.csv') 
df1$frequency1 = df1$frequency 
df2$frequency2 = df2$frequency 
df1$frequency = NULL 
df2$frequency = NULL 

df = merge(df1, df2, by = 'var', all = TRUE) 
print(df) 

的想法是,如果你想要頻率1,且頻率是在最終的合併數據框中的名稱,你可以在DF1和DF2合併之前對其進行重命名。這將產生:

var frequency1 frequency2 
1 a   3   2 
2 b   2   3 
3 d   5   NA 
4 c   NA   3 
+0

我試圖合併(X,Y)這一點,但它會刪除不同時dataframes編輯表示會嘗試新的方法的所有變量 – xjtc55

+0

嘗試更新的版本。 :) –

+0

謝謝!這工作! – xjtc55