Odp.: jak grupować według warunku i liczyć
Aby wykonać warunek grupowania i zliczania w języku R, możesz użyć następującej podstawowej składni:
library (dplyr) df %>% group_by(var1) %>% summarize(count = sum(var2 == ' val '))
Ta szczególna składnia grupuje linie ramki danych w oparciu o zmienną 1 , a następnie zlicza liczbę linii, w których zmienna 2 jest równa „val”.
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: grupuj według i licz z warunkiem w R
Załóżmy, że mamy następującą ramkę danych w R, która zawiera informacje o różnych koszykarzach:
#create data frame df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'), pos=c('Gu', 'Fo', 'Fo', 'Fo', 'Gu', 'Gu', 'Fo', 'Fo'), points=c(18, 22, 19, 14, 14, 11, 20, 28)) #view data frame df team pos points 1 A Gu 18 2 A Fo 22 3 A Fo 19 4 A Fo 14 5 B Gu 14 6 B Gu 11 7 B Fo 20 8 B Fo 28
Poniższy kod pokazuje, jak pogrupować ramkę danych według zmiennej zespołu i policzyć liczbę wierszy, w których zmienna pos jest równa „Gu”:
library (dplyr)
#group by team and count rows where pos is 'Gu'
df %>%
group_by(team) %>%
summarize(count = sum(pos == ' Gu '))
# A tibble: 2 x 2
team count
1 to 1
2 B 2
Z wyniku możemy zobaczyć:
- Zespół A ma 1 wiersz, w którym kolumna poz jest równa „Gu”
- Zespół B ma 2 wiersze, w których kolumna poz jest równa „Gu”
Możemy użyć podobnej składni do grupowania i zliczania za pomocą warunku liczbowego.
Na przykład poniższy kod pokazuje, jak grupować według zmiennej zespołu i policzyć liczbę wierszy, w których zmienna punktów jest większa niż 15:
library (dplyr)
#group by team and count rows where pos is 'Gu'
df %>%
group_by(team) %>%
summarize(count = sum(points > 15 ))
# A tibble: 2 x 2
team count
1 to 3
2 B 2
Z wyniku możemy zobaczyć:
- Zespół A ma 3 linie, w których kolumna punktów jest większa niż 15
- Zespół B ma 2 linie, w których kolumna punktów jest większa niż 15
Możesz użyć podobnej składni do grupowania i zliczania z dowolnym konkretnym warunkiem.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:
Jak policzyć wartości w kolumnie z warunkiem w R
Jak wybrać pierwsze N wartości według grupy w R