#r #dataframe #levels
#r #фрейм данных #уровни
Вопрос:
У меня есть фрейм данных с двумя символьными переменными, state и birds. Я пытаюсь определить, сколько типов птиц находится в каждом состоянии. Я пробовал:
data.frame %>%
group_by(state) %>%
n_distinct(data.frame$bird)
data.frame %>%
group_by(state) %>%
n_distinct(unique(data.frame$bird))
Тем не менее, я очень застрял. Заранее благодарю вас за помощь; дайте мне знать, если мне нужно добавить дополнительные разъяснения.
Комментарии:
1. Попробуйте
data.frame %>% group_by(state, bird) %>% tally()
Ответ №1:
Как насчет этого?
data.frame %>%
group_by(state) %>%
summarize(distinct_birds = n_distinct(data.frame$bird))
Комментарии:
1. В итоге это сработало, за исключением того, что мне пришлось использовать функцию summary вместо mutate. Спасибо!
Ответ №2:
Это будет очень просто с помощью data.table
library(data.table)
dt=data.table(data.frame)
dt[,counts:=.N, by=.(state,birds)]
.N
является ли функция data.table для получения подсчетовby
включить группирующие переменные.
Ответ №3:
Также используется tidyverse:
library(tidyverse)
data.frame %>% count(state)