Hoe u meerdere kolommen kunt optellen met dplyr


U kunt de volgende methoden gebruiken om de waarden van meerdere kolommen in een dataframe op te tellen met behulp van dplyr:

Methode 1: Som over alle kolommen

 df %>%
  mutate(sum = rowSums(., na. rm = TRUE ))

Methode 2: Som over alle numerieke kolommen

 df %>%
  mutate(sum = rowSums(across(where(is. numeric )), na. rm = TRUE ))

Methode 3: Som over specifieke kolommen

 df %>%
  mutate(sum = rowSums(across(c(col1, col2))))

De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met het volgende dataframe dat informatie bevat over de punten die door verschillende basketbalspelers in verschillende games zijn gescoord:

 #create data frame
df <- data. frame (game1=c(22, 25, 29, 13, 22, 30),
                 game2=c(12, 10, 6, 6, 8, 11),
                 game3=c(NA, 15, 15, 18, 22, 13))

#view data frame
df

  game1 game2 game3
1 22 12 NA
2 25 10 15
3 29 6 15
4 13 6 18
5 22 8 22
6 30 11 13

Voorbeeld 1: som over alle kolommen

De volgende code laat zien hoe u de som van de waarden van alle kolommen in het dataframe berekent:

 library (dplyr)

#sum values across all columns
df %>%
  mutate(total_points = rowSums(., na. rm = TRUE ))

game1 game2 game3 total_points
1 22 12 NA 34
2 25 10 15 50
3 29 6 15 50
4 13 6 18 37
5 22 8 22 52
6 30 11 13 54

Voorbeeld 2: Som over alle numerieke kolommen

De volgende code laat zien hoe u de som van de waarden van alle numerieke kolommen in het dataframe berekent:

 library (dplyr)

#sum values across all numeric columns
df %>%
  mutate(total_points = rowSums(across(where(is. numeric )), na. rm = TRUE ))

game1 game2 game3 total_points
1 22 12 NA 34
2 25 10 15 50
3 29 6 15 50
4 13 6 18 37
5 22 8 22 52
6 30 11 13 54

Voorbeeld 3: Som over specifieke kolommen

De volgende code laat zien hoe u alleen de som van de waarden in de kolommen game1 en game2 berekent:

 library (dplyr)

#sum values across game1 and game2 only
df %>%
  mutate(first2_sum = rowSums(across(c(game1, game2))))

  game1 game2 game3 first2_sum
1 22 12 NA 34
2 25 10 15 35
3 29 6 15 35
4 13 6 18 19
5 22 8 22 30
6 30 11 13 41

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken kunt uitvoeren met dplyr:

Rijen verwijderen met dplyr
Rijen rangschikken met dplyr
Hoe u op meerdere voorwaarden kunt filteren met behulp van dplyr

Einen Kommentar hinzufügen

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