2016-05-18 54 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