【问题标题】:Wide Format Summary in tidyversetidyverse 中的宽格式摘要
【发布时间】:2019-08-13 18:32:07
【问题描述】:

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

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

【问题讨论】:

  • 是逐行求和还是Site中所有列的总和
  • 如果您不介意,一个小示例数据/预期输出会很有帮助(以避免任何混淆)

标签: r aggregate tidyverse summary summarize


【解决方案1】:

我们可以将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))

【讨论】:

    猜你喜欢
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    相关资源
    最近更新 更多