tidyverse 中的宽格式摘要

Wide Format Summary in tidyverse

您好,我有一个按 Site 分组的宽格式数据框。每列代表不同物种的丰度(总共 85 个)。我正在尝试总结数据框以计算个人总数,而不考虑我数据中的物种。

df.totals<- df %>% group_by(Site) %>% summarize (total = sum(6:91))

我们可以gather到'long'格式然后做sum

library(tidyverse)
df %>% 
   select(Site, 6:91) %>%
   rownames_to_column("rn") %>% 
   gather(key, val, - Site, -rn) %>% 
   group_by(Site, rn) %>% 
   summarise(total  = sum(val))

或者没有 gathering 的另一个选项是

df %>% 
   select(Site, 6:91) %>% 
   transmute(vs, Sum = reduce(.[2:ncol(.)], `+`)) %>%
   group_by(Site) %>% 
   summarise(Sum = sum(Sum))

使用 mtcars

的可重现示例
mtcars %>% 
   select(vs, 4:6) %>% 
   transmute(vs, Sum = reduce(.[2:ncol(.)], `+`)) %>% 
   group_by(vs) %>% 
   summarise(Sum = sum(Sum))