Jak używać ungroup() w dplyr (z przykładami)
Możesz użyć funkcji ungroup() w dplyr, aby rozgrupować wiersze po użyciu funkcji group_by() w celu podsumowania jednej zmiennej na grupę.
Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.
Przykład: Jak używać ungroup() w dplyr
Załóżmy, że mamy następującą ramkę danych w R:
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'B'),
dots=c(14, 18, 22, 26, 36, 34),
assists=c(5, 4, 4, 8, 7, 3))
#view data frame
df
team points assists
1 to 14 5
2 to 18 4
3 to 22 4
4 B 26 8
5 B 36 7
6 B 34 3
Załóżmy teraz, że użyjemy poniższego kodu do obliczenia średniej wartości punktów , pogrupowanej według drużyn :
library (dplyr)
#calculate mean of points, grouped by team
df_new <- df %>%
group_by(team) %>%
summarize(mean_points = mean(points)) %>%
A group()
#view results
df_new
# A tibble: 2 x 2
team mean_points
1 to 18
2 B 32
Stosując tę składnię możemy obliczyć średnią wartość punktów pogrupowanych według drużyn , ale straciliśmy kolumnę asyst .
Aby zachować kolumnę pomocników , możemy użyć mutate() zamiast podsumowania() i nadal używać ungroup() na końcu:
library (dplyr)
#calculate mean of points, grouped by team
df_new <- df %>%
group_by(team) %>%
mutate(mean_points = mean(points)) %>%
A group()
#view results
df_new
# A tibble: 6 x 4
team points assists mean_points
1 A 14 5 18
2 A 18 4 18
3 A 22 4 18
4 B 26 8 32
5 B 36 7 32
6 B 34 3 32
Tym razem jesteśmy w stanie zachować kolumnę asyst i za pomocą funkcji mutate() po prostu dodaliśmy nową kolumnę o nazwie Mean_points , która wyświetla średnią wartość punktów dla każdej drużyny.
Ponieważ użyliśmy także funkcji ungroup() , możemy wykonywać obliczenia na tej nowej ramce danych, nie martwiąc się o wpływ na obliczenia zgrupowanych zmiennych.
Gdybyśmy nie użyli funkcji ungroup() , wiersze w ramce danych nadal byłyby zgrupowane, co mogłoby mieć niezamierzone konsekwencje, gdy później wykonalibyśmy inne obliczenia.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:
Jak filtrować unikalne wartości za pomocą dplyr
Jak filtrować według wielu warunków za pomocą dplyr
Jak policzyć liczbę wystąpień w kolumnach w R