有没有一种方法可以根据变量组在dplyr中应用不同的汇总函数?

时间:2018-07-09 15:18:20

标签: r dplyr tidyverse

我想知道是否有一种更简洁的方法来汇总dplyr中的变量,并且将不同的汇总函数用于不同的列组。例如,下面的代码将在元音列上min上,在辅音上max上,但这很麻烦并且会改变列的顺序。

library(tidyverse)

vowels <- c("a","e","i","o","u")

df %>% 
  select(one_of(vowels)) %>% summarize_all(min) %>% 
  bind_cols(df %>% select(-one_of(vowels)) %>% summarize_all(max))

我知道我可以使用summarize_all(funs(min,max))然后对所需的列进行子集设置,但这似乎也不是最优的,尤其是在汇总函数可能在计算上非常昂贵的非平凡情况下。

我真的很想要一个将变量和函数成对分组的函数(即summarize_at2(vars(one_of(vowels),-one_of(vowels)), funs(min,max)))。也许有一些干净的方法可以使用purrr来做到这一点?

0 个答案:

没有答案