Comment additionner sur plusieurs colonnes à l’aide de dplyr
Vous pouvez utiliser les méthodes suivantes pour additionner les valeurs de plusieurs colonnes d’un bloc de données à l’aide de dplyr :
Méthode 1 : somme sur toutes les colonnes
df %>% mutate(sum = rowSums(., na.rm=TRUE))
Méthode 2 : somme sur toutes les colonnes numériques
df %>% mutate(sum = rowSums(across(where(is.numeric)), na.rm=TRUE))
Méthode 3 : somme sur des colonnes spécifiques
df %>% mutate(sum = rowSums(across(c(col1, col2))))
Les exemples suivants montrent comment utiliser chaque méthode avec le bloc de données suivant qui contient des informations sur les points marqués par différents joueurs de basket-ball lors de différents matchs :
#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
Exemple 1 : somme sur toutes les colonnes
Le code suivant montre comment calculer la somme des valeurs de toutes les colonnes du bloc de données :
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
Exemple 2 : somme sur toutes les colonnes numériques
Le code suivant montre comment calculer la somme des valeurs de toutes les colonnes numériques du bloc de données :
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
Exemple 3 : somme sur des colonnes spécifiques
Le code suivant montre comment calculer la somme des valeurs dans les colonnes game1 et game2 uniquement :
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
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes à l’aide de dplyr :
Comment supprimer des lignes à l’aide de dplyr
Comment organiser les lignes à l’aide de dplyr
Comment filtrer selon plusieurs conditions à l’aide de dplyr