我需要将非常不同的功能应用于大型分组图块的不同列。通常,我将结果存储在不同的对象中并在最后合并。简化示例:
iris <- iris %>%
as_tibble() %>%
group_by(Species)
sums <- iris %>%
summarise_at(vars(contains("Length")),
list(sum = sum))
means <- iris %>%
summarise_at(vars(contains("Width")),
list(mean = mean))
medians <- iris %>%
summarise_at(vars(Sepal.Length, Petal.Width),
list(median = median))
result <- purrr::reduce(list(sums, means, medians), left_join)
rm(sums, means, medians)
我想知道是否有解决方案可以一次执行。也许使用嵌套的小标题,如
result2 <- iris %>%
as_tibble() %>%
group_by(Species) %>%
nest()
,然后是purrr::map
或purrr:map_at
的某些变体?