如何使用 R 中的函数继续合并数据帧?
Posted
技术标签:
【中文标题】如何使用 R 中的函数继续合并数据帧?【英文标题】:How to keep merging data frames using a function in R? 【发布时间】:2017-08-25 06:57:43 【问题描述】:我有六个数据框,即 df1、df2、df3、df4、df5 和 df6。我想通过以下方式使用函数合并它们:
df1
df2
df3
df4
df5
df6
首先,该函数将 df1 与 df2 合并,并将创建一个具有 df1 和 df2 合并值的数据框,然后它将对 df1 和 df3 以及 df1 和 df4 执行相同的操作,依此类推。一旦此过程结束,它将对 df2、df3、df4、df5、df6 重复相同的过程。请帮忙。
【问题讨论】:
【参考方案1】:我们可以使用Reduce
和merge
。在OP的帖子中,没有提到by
变量,所以它也显示在下面的代码中
v1 <- paste0("df", 1:6)
res <- lapply(seq_along(v1), function(i) Reduce(function(...)
merge(...), mget(v1[i:length(v1)], envir = .GlobalEnv)))
【讨论】:
如果我使用这个函数,它会给出这个错误:Reduce(function(...) merge(..., mget(v1[i:length(v1)]))) 中的错误:参数缺少“x”,没有默认值 @sidsatam 我认为)
不匹配。请立即查看
它现在给我以下错误:错误:未找到“df1”的值
@sidsatam 你甚至没有提供一个可重复的例子。因此,请更新您的帖子,并为其他人提供示例
@sidsatam 根据错误,这意味着您没有对象“df1”。所以,错误是在你的部分而不是在代码中。你的描述说你有df1,df2,df3,df4,df5 and df6
。 .以上是关于如何使用 R 中的函数继续合并数据帧?的主要内容,如果未能解决你的问题,请参考以下文章