Как использовать R для подсчета нескольких переменных? - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть большой набор данных наблюдений за птицами. Я хотел бы посчитать по группам, т.е. видам, наблюдаемым по различным категориям: год, сезон и сетка.

Например, сколько американских ворон (AMCR) наблюдалось в 2017 году? Или сколько американских робинсов наблюдалось в 2017 году в период размножения (столбец BB)?

Вот пример моих заголовков и первой строки данных:

Заголовки данных

enter image description here

Year    Season  Date    Grid    Species Count   Behavior
2015     BB   22-Jul-15  FF       AMCR     1        C

Я пытался использовать dplyr count_ и group_by, но я думаю, что я делаю это неправильно. Пожалуйста, помогите!

Ответы [ 2 ]

1 голос
/ 06 февраля 2020

Похоже, вы пытаетесь посчитать количество наблюдений в группе. Для этого и предназначена count в dplyr . Хитрость в том, что вам не нужно group_by перед ним.

Вот пример кода:

library(dplyr)
data("storms")

count_by_group <- storms %>%
  # The variables you want to count observations within
  count(year, month, status)

Альтернативно, если у вас есть переменная с именем "Count" в вашем необработанные данные, и вы хотите суммировать их в каждой группе, вместо этого следует использовать summarize с group_by

sum_by_group <- storms %>%
  group_by(year, month, status) %>%
  # pressure doesn't make a lot of sense here, but just whatever variable you're trying to sum up
  summarize(Count = sum(pressure))
0 голосов
/ 06 февраля 2020

Вот другое решение, использующее dplyr. Это похоже на ранее предложенный; Тем не менее, я думаю, что это может быть ближе к тому, что вы хотите сделать.
Для подсчета количества наблюдаемых видов по году, сезону и сетке:

#Count number of species
df %>%
  #Grouping variables
  group_by(Year, Season, Grid) %>%
  #Remove possible duplicates in the species column
  distinct(Species) %>%
  #Count number of species
  count(name = "SpCount")

Для подсчета количество наблюдаемых птиц по видам, году, сезону и сетке:

#Count number of birds per species
df %>%
  #Grouping variables
  group_by(Species, Year, Season, Grid) %>%
  #Count number of birds per species
  summarize(BirdCount = sum(Count))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...