Як підрахувати спостереження за групою в r
Часто вам може бути цікаво підрахувати кількість спостережень на групу в R.
На щастя, це легко зробити за допомогою функції count() бібліотеки dplyr .
Цей підручник пояснює кілька прикладів практичного використання цієї функції з використанням наступного кадру даних:
#create data frame df <- data.frame(team = c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'C' , 'CC'), position = c('G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F', 'F '), points = c(4, 13, 7, 8, 15, 15, 17, 9, 21, 22, 25, 31)) #view data frame df team position points 1 GA 4 2 AG 13 3AF 7 4 BG 8 5 BF 15 6 BF 15 7 BF 17 8 BG 9 9 GC 21 10 CF 22 11 CF 25 12 CF 31
Приклад 1: підрахунок за змінною
Наступний код показує, як підрахувати загальну кількість гравців у команді:
library (dplyr)
#count total observations by variable 'team'
df %>% count(team)
# A tibble: 3 x 2
team n
1 to 3
2 B 5
3 C 4
З результату ми бачимо, що:
- Команда А складається з 3 гравців
- Команда Б складається з 5 гравців
- Команда С складається з 4 гравців
Ця єдина функція count() дає нам гарне уявлення про розподіл гравців у команді.
Зверніть увагу, що ми також можемо сортувати підрахунки, якщо хочемо:
#count total observations by variable 'team' df %>% count(team, sort= TRUE ) # A tibble: 3 x 2 team n 1 B 5 2 C 4 3 to 3
Приклад 2: Підрахунок за кількома змінними
Ми також можемо сортувати за кількома змінними:
#count total observations by 'team' and 'position'
df %>% count(team, position)
# A tibble: 6 x 3
team position n
1 AF 1
2 AG 2
3 BF 3
4 BG 2
5 CF 3
6 GC 1
З результату ми бачимо, що:
- У команді А є 1 гравець на позиції «F» (форвард) і 2 гравці на позиції «G» (захисник).
- У команді B є 3 гравці на позиції «F» (форвард) і 2 гравці на позиції «G» (захисник).
- У команді С є 3 гравці на позиції «F» (форвард) і 1 гравець на позиції «G» (захисник).
Приклад 3: зважене число
Ми також можемо «зважити» кількість однієї змінної іншою змінною. Наприклад, наступний код показує, як підрахувати загальну кількість спостережень на команду, використовуючи змінну «points» як вагу:
df %>% count(team, wt= points )
# A tibble: 3 x 2
team n
1 to 24
2 B 64
3 C 99
Ви можете знайти повну документацію для функції count() тут .