Comment ajouter une ligne totale à un bloc de données dans R
Vous pouvez utiliser les méthodes suivantes pour ajouter une ligne « total » au bas d’un bloc de données dans R :
Méthode 1 : utiliser Base R
rbind(df, data.frame(team='Total', t(colSums(df[, -1]))))
Méthode 2 : utiliser dplyr
library(dplyr) df %>% bind_rows(summarise(., across(where(is.numeric), sum), across(where(is.character), ~'Total')))
L’exemple suivant montre comment utiliser chaque méthode en pratique avec le bloc de données suivant :
#create data frame df <- data.frame(team=c('A', 'B', 'C', 'D', 'E', 'F'), assists=c(5, 7, 7, 9, 12, 9), rebounds=c(11, 8, 10, 6, 6, 5), blocks=c(6, 6, 3, 2, 7, 9)) #view data frame df team assists rebounds blocks 1 A 5 11 6 2 B 7 8 6 3 C 7 10 3 4 D 9 6 2 5 E 12 6 7 6 F 9 5 9
Exemple 1 : ajouter une ligne totale en utilisant la base R
Nous pouvons utiliser les fonctions rbind et colSums de la base R pour ajouter une ligne totale au bas du bloc de données :
#add total row to data frame df_new <- rbind(df, data.frame(team='Total', t(colSums(df[, -1])))) #view new data frame df_new team assists rebounds blocks 1 A 5 11 6 2 B 7 8 6 3 C 7 10 3 4 D 9 6 2 5 E 12 6 7 6 F 9 5 9 7 Total 49 46 33
Notez qu’une ligne a été ajoutée au bas du bloc de données qui affiche la somme des valeurs de chaque colonne.
Exemple 2 : ajouter une ligne totale à l’aide de dplyr
Le code suivant montre comment utiliser les fonctions du package dplyr dans R pour ajouter une ligne totale au bas du bloc de données :
library(dplyr) #add total row to data frame df_new <- df %>% bind_rows(summarise(., across(where(is.numeric), sum), across(where(is.character), ~'Total'))) #view new data frame df_new team assists rebounds blocks 1 A 5 11 6 2 B 7 8 6 3 C 7 10 3 4 D 9 6 2 5 E 12 6 7 6 F 9 5 9 7 Total 49 46 33
Notez qu’une ligne a été ajoutée au bas du bloc de données qui affiche la somme des valeurs de chaque colonne.
Notez également que cette méthode produit les mêmes résultats que la méthode de base R.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment utiliser rbind dans R
Comment supprimer des lignes dans R
Comment calculer la différence entre les lignes dans R