Comment additionner des colonnes en fonction d’une condition dans R



Vous pouvez utiliser la syntaxe de base suivante pour additionner les colonnes en fonction de la condition dans R :

#sum values in column 3 where col1 is equal to 'A'
sum(df[which(df$col1=='A'), 3])

Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le bloc de données suivant :

#create data frame
df <- data.frame(conference = c('East', 'East', 'East', 'West', 'West', 'East'),
                 team = c('A', 'A', 'A', 'B', 'B', 'C'),
                 points = c(11, 8, 10, 6, 6, 5),
                 rebounds = c(7, 7, 6, 9, 12, 8))

#view data frame
df

  conference team points rebounds
1       East    A     11        7
2       East    A      8        7
3       East    A     10        6
4       West    B      6        9
5       West    B      6       12
6       East    C      5        8

Exemple 1 : additionner une colonne en fonction d’une condition

Le code suivant montre comment trouver la somme de la colonne de points pour les lignes où l’équipe est égale à « A » :

#sum values in column 3 (points column) where team is equal to 'A'
sum(df[which(df$team=='A'), 3])

[1] 29

Le code suivant montre comment trouver la somme de la colonne des rebonds pour les lignes où les points sont supérieurs à 9 :

#sum values in column 4 (rebounds column) where points is greater than 9
sum(df[which(df$points > 9), 4])

[1] 13

Exemple 2 : additionner une colonne en fonction de plusieurs conditions

Le code suivant montre comment trouver la somme de la colonne de points pour les lignes où l’équipe est égale à « A » et la conférence est égale à « Est » :

#sum values in column 3 (points column) where team is 'A' and conference is 'East'
sum(df[which(df$team=='A' & df$conference=='East'), 3])

[1] 29

Notez que l’opérateur & signifie « et » dans R.

Exemple 3 : additionner une colonne en fonction de l’une des plusieurs conditions

Le code suivant montre comment trouver la somme de la colonne de points pour les lignes où l’équipe est égale à « A » ou « C » :

#sum values in column 3 (points column) where team is 'A' or 'C'
sum(df[which(df$team == 'A' | df$team =='C'), 3])

[1] 34

Notez que le | L’opérateur signifie « ou » dans R.

Ressources additionnelles

Les didacticiels suivants expliquent comment exécuter d’autres fonctions courantes dans R :

Comment additionner des colonnes spécifiques dans R
Comment additionner des lignes spécifiques dans R
Comment calculer la somme par groupe dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *