您好,我有一个按Site
分组的宽格式数据框。每列代表不同物种的丰度(总共85个)。我正在尝试汇总数据框,以计算个人总数,而不考虑数据中的物种。
df.totals<- df %>% group_by(Site) %>% summarize (total = sum(6:91))
答案 0 :(得分:1)
我们可以gather
转换为“长”格式,然后执行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))
或没有gather
的其他选项将会是
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))