【发布时间】:2020-10-09 19:20:36
【问题描述】:
df = data.frame(
A = c(1, 4, 5, 13, 2),
B = c("Group 1", "Group 3", "Group 2", "Group 1", "Group 2"),
C = c("Group 3", "Group 2", "Group 1", "Group 2", "Group 3")
)
df %>%
group_by(B) %>%
summarise(val = mean(A))
df %>%
group_by(C) %>%
summarise(val = mean(A))
我不想为每个唯一的 group_by 集编写新的代码块,而是想创建一个循环,该循环将遍历 df 数据帧并将结果保存到列表或数据帧中。
我想看看特征 A 的平均值如何在特征 B 和 C 之间传播,而无需编写新的数据集中每个分类特征的代码块。
我试过这个:
List_Of_Groups <- map_df(df, function(i) {
df %>%
group_by(!!!syms(names(df)[1:i])) %>%
summarize(newValue = mean(A))
})
【问题讨论】:
标签: r dataframe dplyr tidyverse purrr