这是我向这个社区提出的第一个问题,我希望通过与这里经验丰富的人交流来解决我的疑问。 我有三个组,每个组包含 3 个具有不同长度和尺寸的不同 data.frame 对象。我想要进行某种操作,通过特定的 data.frame 对象对它们进行分组。我认为 dply 包中的 group_by 可以完成此任务,但我对此不确定,甚至我也不完全了解使用 dplyr 包,所以请对我的问题做出贡献。谢谢大家。
这是一个简单的可重现示例,可以让我的问题变得清晰:
模拟数据
group1 <- list(a1 <- iris[1:10,],
b1 <- airquality[1:20,],
c1 <- cars[1:20,])
group2 <- list(a2 <- iris[15:35,],
b2 <- airquality[10:25,],
c2 <- cars[15:30,])
group3 <- list(a3 <- iris[40:60,],
b3 <- airquality[30:50,],
c3 <- cars[25:45,])
假设 group1、group2、group3 放置在 R 内存中的三个不同目录中,所以我想同时访问每个组,并按特定的 data.frame 对象对它们进行分组。所以这是我的预期输出:
期望的输出:
group_a <- list(a1, a2, a3)
group_b <- list(b1, b2, b3)
group_c <- list(c1, c2, c3)
需要明确的是,我的可重现示例是根据我实现的函数的结果模拟的,每次执行函数时,它都会以列表形式返回结果并将它们存储在不同的 R 目录中,这就是为什么我需要访问每组结果同时,按照我的预期对它们进行分组。任何有经验的成员都可以给出一些关于如何实现我所提出的问题的预期结果的想法吗?我感谢所有试图在这里提供帮助的人。
最佳
杰夫
最佳答案
将组数据集放入列表
后,我们可以使用purrr
中的转置
library(purrr)
lst <- transpose(list(group1, group2, group3))
group1New <- lst[[1]]
group2New <- lst[[2]]
group3New <- lst[[3]]
关于r - 使用 dplyr 中的 group_by 函数来操作 data.frame 对象集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38422417/