Як використовувати функцію n() у r (з прикладами)
Ви можете використовувати функцію n() із пакета dplyr у R, щоб підрахувати кількість спостережень у групі.
Ось три поширені способи використання цієї функції на практиці:
Спосіб 1: використовуйте n() для підрахунку спостережень за групою
df %>%
group_by(group_variable) %>%
summarize(count = n())
Спосіб 2. Використовуйте n(), щоб додати стовпець із спостереженнями за групами
df %>%
group_by(group_variable) %>%
mutate(count = n())
Спосіб 3. Використовуйте n() для фільтрації на основі спостережень за групою
df %>%
group_by(group_variable) %>%
filter(n() > 15 )
У наведених нижче прикладах показано, як використовувати кожен метод на практиці з наступним кадром даних у R, який містить інформацію про різних баскетболістів:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C'), points=c(22, 25, 25, 20, 29, 13), assists=c(10, 12, 9, 4, 11, 10), rebounds=c(9, 8, 5, 10, 14, 12)) #view data frame df team points assists rebounds 1 A 22 10 9 2 A 25 12 8 3 to 25 9 5 4 B 20 4 10 5 B 29 11 14 6 C 13 10 12
Приклад 1: використовуйте n() для підрахунку спостережень за групою
Наступний код показує, як використовувати функцію n() із функцією summarise() для підрахунку кількості спостережень на команду :
library (dplyr) #count number of observations by team df %>% group_by(team) %>% summarize(count = n()) # A tibble: 3 x 2 team count 1 to 3 2 B 2 3 C 1
З результату ми бачимо:
- Команда А з’являється 3 рази
- Команда B з’являється 2 рази
- Команда C з’являється 1 раз
Приклад 2: використовуйте n(), щоб додати стовпець, який відображає спостереження за групами
У наведеному нижче коді показано, як використовувати функцію n() із функцією mutate() , щоб додати стовпець до кадру дат із кількістю спостережень на команду :
library (dplyr) #add new column that shows number of observations by team df %>% group_by(team) %>% mutate(count = n()) # A tibble: 6 x 5 # Groups: team [3] team points assists rebounds count 1 to 22 10 9 3 2 to 25 12 8 3 3 to 25 9 5 3 4 B 20 4 10 2 5 B 29 11 14 2 6 C 13 10 12 1
Новий стовпець під назвою count містить кількість команд для кожного рядка у кадрі даних.
Приклад 3: використовуйте n() для фільтрації на основі спостережень за групою
У наступному коді показано, як використовувати функцію n() із функцією filter() , щоб відфільтрувати фрейм даних, щоб показати лише ті рядки, де команда з’являється більше одного разу:
library (dplyr) #filter rows where team count is greater than 1 df %>% group_by(team) %>% filter(n() > 1 ) # A tibble: 5 x 4 # Groups: team [2] team points assists rebounds 1 A 22 10 9 2 A 25 12 8 3 to 25 9 5 4 B 20 4 10 5 B 29 11 14
Зауважте, що отриманий фрейм даних містить лише рядки, де команда має значення «A» або «B», оскільки це єдині команди, кількість яких перевищує одиницю.
Додаткові ресурси
У наступних посібниках пояснюється, як використовувати інші поширені функції в R:
Як використовувати функцію cross() у dplyr
Як використовувати функцію relocate() у dplyr
Як використовувати функцію slice() у dplyr