【发布时间】:2021-02-22 07:03:00
【问题描述】:
考虑R 中的以下简单dplyr 管道:
df <- data.frame(group = rep(LETTERS[1:3],each=5), value = rnorm(15)) %>%
group_by(group) %>%
mutate(rank = rank(value, ties.method = 'min'))
df %>%
group_by(group) %>%
summarise(mean_1 = mean(value[rank <= 1]),
mean_2 = mean(value[rank <= 2]),
mean_3 = mean(value[rank <= 3]),
mean_4 = mean(value[rank <= 4]),
mean_5 = mean(value[rank <= 5]))
如何避免为所有i 输入mean_i = mean(value[rank <= i]) 而不会返回到group 和i 的循环?具体来说,有没有一种巧妙的方法来使用dplyr::summarise 函数迭代创建变量?
【问题讨论】:
标签: r dplyr iteration summarize