Hoe rijen met dezelfde kolomwaarden in r te combineren


U kunt de volgende basissyntaxis gebruiken om rijen met dezelfde kolomwaarden te combineren in een dataframe in R:

 library (dplyr)

df %>%
  group_by(group_var1, group_var2) %>%
  summarise(across(c(values_var1, values_var2), sum))

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

Voorbeeld: Combineer rijen met dezelfde kolomwaarden in R

Stel dat we het volgende dataframe hebben met informatie over verkopen en retouren door verschillende medewerkers van een bedrijf:

 #create data frame
df <- data. frame (id=c(101, 101, 102, 103, 103, 103),
                 employee=c('Dan', 'Dan', 'Rick', 'Ken', 'Ken', 'Ken'),
                 sales=c(4, 1, 3, 2, 5, 3),
                 returns=c(1, 2, 2, 1, 3, 2))

#view data frame
df

   id employee sales returns
1 101 Dan 4 1
2 101 Dan 1 2
3 102 Rick 3 2
4 103 Ken 2 1
5 103 Ken 5 3
6 103 Ken 3 2

We kunnen de volgende syntaxis gebruiken om rijen te combineren die dezelfde waarde hebben in de kolommen ID en Werknemer , en vervolgens de resterende kolommen samen te voegen:

 library (dplyr)

#combine rows with same value for id and employee and aggregate remaining columns
df %>%
  group_by(id, employee) %>%
  summarise(across(c(sales, returns), sum))

# A tibble: 3 x 4
#Groups: id[3]
     id employee sales returns
          
1 101 Dan 5 3
2 102 Rick 3 2
3 103 Ken 10 6

Het resultaat is een dataframe dat alle rijen in het oorspronkelijke dataframe combineert die dezelfde waarde hadden in de kolommen ID en Werknemer , en vervolgens de som berekent van de waarden in de kolommen Verkoop en Retouren .

Opmerking : we kiezen ervoor om de verkoop- en retourkolommen samen te voegen met behulp van de somfunctie , maar u kunt desgewenst ook aggregeren op basis van een andere statistiek, zoals het gemiddelde .

Gerelateerd: Hoe de across()-functie in dplyr te gebruiken

Aanvullende bronnen

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

Lijsten combineren in R
Hoe twee vectoren in R te combineren
Hoe twee dataframes in R te combineren met verschillende kolommen

Einen Kommentar hinzufügen

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