【发布时间】:2019-08-16 10:05:22
【问题描述】:
我想合并 3 个不同的数据框。我有一个有几行,另一个有不同的 Key。请参阅下面的数据框
df1 <- data.frame(date = c("12/03/2013","12/03/2013","12/03/2013"), f1 = c(189,256,389), f2 = c("NY","MB","LT"))
df2 <- data.frame(date = c("12/03/2013","12/03/2013"), Added_f1 = c(178,49), added_f2 = c("okr","nor"))
df3 <- data.frame(date = c("07/09/2016","07/09/2016","07/09/2016"), f1 = c(190,200,367), f5 = c("so","yo","kl"),f7 = c("sott","yogh","klop"))
我确实想使用日期作为键来合并它们。我已经尝试了这些选项,但它会产生不匹配的错误,**必须指定一个唯一有效的*列*
Reduce(function(x,y) merge(x,y,by="date",all=TRUE) ,list(df1,df2,df3))
注意,每个数据框中的列名可以不同。第二个数据框可以在右侧合并,因为列完全不同,但第三个数据框如何合并,因为键不同,列可以有匹配的,其他不匹配的。结果我确实想要一张桌子。
【问题讨论】:
-
您可以编辑您的帖子以显示给定示例的预期输出吗?
-
df3 的列名为
dates,而不是date。这就是错误消息告诉您的内容:您没有要合并的列 -
@denis 应该是日期