Dplyr将所有列汇总吗?还是可以指定R

时间:2018-08-23 04:48:33

标签: r dplyr

R的新手,我找到了groupby,但我很好奇如何将df中的几乎所有列求和。一些是文本和日期,但大多数是我想总结的。我想对第一列团队进行分组并汇总我选择的列。我该怎么写呢?

enter image description here

1 个答案:

答案 0 :(得分:1)

以下是使用样本数据集的一些选项

df<- data.frame(
                Team= sample(c("Team A", "Team B","Team C"),50, replace= TRUE),
                A=sample(1:5,50, replace=TRUE),
                B=sample(3:5,50, replace=TRUE),
                C=sample(c("A","B","C"),50, replace=TRUE),
                D=sample(3:5,50, replace=TRUE))

  # Referencing by single column name             
df %>% 
  group_by(Team) %>% 
  summarise(total=sum(A))

# Referencing multiple column names              
df %>% 
  group_by(Team) %>% 
  summarise(totalA=sum(A), totalB= sum(B))


df %>% 
  group_by(Team) %>% 
  summarise_all(sum) # throws an error since some columns are not numeric

df %>% 
  group_by(Team) %>% 
  select(A,B,D) %>%  # select numeric columns first
  summarise_all(sum)


df %>% 
  group_by(Team) %>% 
  summarise_if(is.numeric, sum) #use summarise_if to select numeric columns