Hoe ungroup() te gebruiken in dplyr (met voorbeelden)


U kunt de functie ungroup() in dplyr gebruiken om rijen te degroeperen nadat u de functie group_by() hebt gebruikt om één variabele per groep samen te vatten.

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: hoe u ungroup() gebruikt in dplyr

Stel dat we het volgende dataframe in R hebben:

 #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

Stel nu dat we de volgende code gebruiken om de gemiddelde puntwaarde te berekenen, gegroepeerd per team :

 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

Met behulp van deze syntaxis kunnen we de gemiddelde waarde van de punten berekenen, gegroepeerd per team , maar we zijn de assists- kolom kwijtgeraakt.

Om de helperskolom te behouden, kunnen we mutete() gebruiken in plaats van summary() en aan het einde nog steeds ungroup() gebruiken:

 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

Deze keer kunnen we de assists- kolom behouden en met behulp van de functie mute() hebben we eenvoudigweg een nieuwe kolom toegevoegd met de naam Mean_points , die de gemiddelde puntenwaarde voor elk team weergeeft.

Omdat we ook de functie ungroup() hebben gebruikt, kunnen we berekeningen uitvoeren op dit nieuwe dataframe zonder ons zorgen te hoeven maken over berekeningen die worden beïnvloed door gegroepeerde variabelen.

Als we de functie ungroup() niet zouden gebruiken, zouden de rijen in het dataframe nog steeds gegroepeerd zijn, wat onbedoelde gevolgen zou kunnen hebben als we later andere berekeningen uitvoeren.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:

Hoe unieke waarden te filteren met dplyr
Hoe u op meerdere voorwaarden kunt filteren met behulp van dplyr
Hoe het aantal exemplaren in kolommen in R te tellen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert