如何使用 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】:

我们可以使用Reducemerge。在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 中的函数继续合并数据帧?的主要内容,如果未能解决你的问题,请参考以下文章

R语言 数据重塑

如何在 R 中的单个数据帧上迭代地应用函数?

如何在 R 中表示和合并具有*日期范围*的时间序列数据帧?

如何从 R 中的数据帧创建具有多个参数的函数列表?

如何将列中的所有数据移动到单个列(不合并),然后拆分为R中的新列?

如何使用 R 中的条件语句将数据帧拆分为多个数据帧