Як використовувати функцію 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *