r - 如何使用基本 R 绑定(bind)列表中的每个第 n 个元素?

标签 r list bind

我有一个包含不同数据帧的列表。列表中的每个第 n 个数据帧都具有相同的结构。该列表有点像这样:

my_list <- list(list(data.frame(a= rnorm(10), b= rnorm(10)),
                 data.frame(abc= letters[1:10])),
                list(data.frame(a= rnorm(10), b= rnorm(10)),
                 data.frame(abc= letters[11:20])))

我想rbind.data.frame每个列表的第一个数据帧和每个列表的第二个数据帧。因此,我的预期结果是:

list(rbind.data.frame(my_list[[1]][[1]], my_list[[2]][[1]]),
     rbind.data.frame(my_list[[1]][[2]], my_list[[2]][[2]]))

在此示例中,每个列表有两个数据帧,但在我的情况下,数据帧的数量可以在下次运行代码时发生变化。所以我需要一个绑定(bind)每个第 n 个列表的通用解决方案。我怎样才能用base R 做到这一点?它必须是基础 R。

最佳答案

选择您感兴趣的元素,例如

lapply(my_list, `[[`, 1)

第一个数据帧。然后使用do.call()rbind选定的data.frames列表

do.call(rbind, lapply(my_list, `[[`, 1))

使用提取任何列表元素i的函数来概括这一点

FUN <- function(x, i)
    do.call(rbind, lapply(x, `[[`, i))

并使用lapply()生成您感兴趣的多个data.frames

lapply(1:2, FUN, x = my_list)

关于r - 如何使用基本 R 绑定(bind)列表中的每个第 n 个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69900765/

相关文章:

jQuery:动态地将 keyup 附加到动态创建的输入

r - 箱线图与 Fivenum : different outcomes?

r - 在使用 R 代码块的 R Markdown 中,可以将两张图像放在同一行上,一张左对齐,一张右对齐吗?

python - 查找列表python中最后一次出现的项目

javascript - Angularjs (ionic) 列表滑动按钮

javascript - jQuery:附加事件、调用事件

r - 将 Quantstrat 中的时间范围从每日更改为每周

r - 市场篮分析 - 具有可变数量功能的单一模型?

还原列表结构

javascript - Javascript 中函数绑定(bind)和闭包的区别?