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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *