【发布时间】:2023-04-09 11:16:01
【问题描述】:
考虑以下示例数据
library(dplyr)
tmp <- mtcars %>%
group_by(cyl) %>%
summarise(mpg_sum = list(summary(mpg)))
使得mpg_sum 包含mpg 变量在cyl 中的组的最小值、第一个四分位数、中位数、平均值、第三个四分位数和最大值。
如何使用 dplyr 或其他方式将此列解压缩为具有适当列名的 6 列?
【问题讨论】:
-
你也可以使用
library(broom); mtcars %>% group_by(cyl) %>% do(tidy(summary(.$mpg))) -
您能否将其发布为答案。我一直对扫帚很感兴趣。
-
主题变体:
mtcars %>% group_by(cyl) %>% summarise(summary = list(broom::tidy(summary(mpg)))) %>% tidyr::unnest() -
@Alex,我作为答案发布了
-
This answer stackoverflow.com/a/52352912/4269699 to a very similar question解决了这个问题中的具体例子,可能有用。它没有解决将列表列解压缩为多列的更普遍的问题。