2016-05-18 64 views
0

我有兩個類似的表格,記錄了超過3個月的花費。 從第4-6個月開始,新增了一個變量。將兩個數據幀與新列結合使用

df1 = data.frame(Month=c(1,2,3),Rent=c(132,123,234),Food=c(34,13,45)) 

df2 = data.frame(Month=c(4,5,6),Rent=c(111,212,231),Food=c(33,11,41),Fun=c(4,6,5)) 


> df1 
    Month Rent Food 
1  1 132 34 
2  2 123 13 
3  3 234 45 

> df2 
    Month Rent Food Fun 
1  4 111 33 4 
2  5 212 11 6 
3  6 231 41 5 

我如何可以結合/合併兩個表看起來像這樣:

Month Rent Food Fun 
1  1 132 34 NA 
2  2 123 13 NA 
3  3 234 45 NA 
4  4 111 33 4 
5  5 212 11 6 
6  6 231 41 5 
+0

'data_table :: rbindlist(list(df1,df2),use.names = T'data-list :: rbindlist(data.frame(df1,fun = NA),df2)'或'dplyr :: bind_rows(df1,df2)' – alistaire

+1

' ,fill = T)'(將返回一個'data.table') – SymbolixAU

+0

謝謝,無論是解決方案離子很好地工作! – Zyferion

回答

2

您可以使用連接在dplyr包等任務的家庭功能如下:

library(dplyr) 
full_join(df1, df2) 
Joining by: c("Month", "Rent", "Food") 
    Month Rent Food Fun 
1  1 132 34 NA 
2  2 123 13 NA 
3  3 234 45 NA 
4  4 111 33 4 
5  5 212 11 6 
6  6 231 41 5