r - 使用 dplyr 中的 group_by 函数来操作 data.frame 对象集

标签 r dataframe dplyr data-manipulation

这是我向这个社区提出的第一个问题,我希望通过与这里经验丰富的人交流来解决我的疑问。 我有三个组,每个组包含 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/

相关文章:

python - 如何自动将字符串转换为 Pandas 中的列表或集合?

python - 如果列的组合与 Panda Dataframe 相同,如何删除行

r - 使用 dplyr 将函数应用于表的每一行?

r - 如何计算使用 R 更改一列中的值之前的持续时间?

r - 如何在 R 中为所有 plot.default、plot 或 lines 调用默认设置颜色

r - 在 R 中的数据框列中使用向量

r - 如何在R中按组进行回归分析并分别获得每组的估计系数

r - 有条件地改变 R 中的多列

r - 在数据框中查找与 R 中最接近的匹配行

r - 如何为ggplot中的每个点使用不同的形状