按更多列分组或求和

Group by or sum more column

我想知道是否存在同时计算更多列的“自动”方法。

library(dplyr)
abc <- iris %>% 
      group_by(Species) %>% 
      summarise(abc = sum(Petal.Width)) %>% 
      ungroup() 
abc2 <- iris %>% 
      group_by(Species) %>% 
      summarise(abc = sum(Sepal.Width)) %>% 
      ungroup() 

我可以为每一列使用此代码,但如果我需要做更多列(在此数据集中的前四列),我该怎么做?而且我需要在同一个数据集里,有可能吗?

试试这个:

iris %>% 
  group_by(Species) %>% 
  summarise(across(Sepal.Length:Petal.Width, sum))


# A tibble: 3 x 5
  Species    Sepal.Length Sepal.Width Petal.Length Petal.Width
  <fct>             <dbl>       <dbl>        <dbl>       <dbl>
1 setosa             250.        171.         73.1        12.3
2 versicolor         297.        138.        213          66.3
3 virginica          329.        149.        278.        101.