Широкий формат резюме в Tidyverse - PullRequest
0 голосов
/ 22 марта 2019

Привет! У меня есть массив данных в широком формате, сгруппированный по Site.Каждый столбец представляет численность различных видов (всего 85).Я пытаюсь суммировать данные, чтобы рассчитать общее количество особей независимо от вида в моих данных.

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

1 Ответ

1 голос
/ 22 марта 2019

Мы можем 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 ing будет

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))
...