Comment exécuter une fonction SUMIF dans R



Souvent, vous souhaiterez peut-être trouver uniquement la somme des lignes d’un bloc de données R qui répondent à certains critères. Heureusement, cela est facile à faire en utilisant la syntaxe de base suivante :

aggregate(col_to_sum ~ col_to_group_by, data=df, sum)

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

#create data frame
df <- data.frame(team=c('a', 'a', 'b', 'b', 'b', 'c', 'c'),
                 pts=c(5, 8, 14, 18, 5, 7, 7),
                 rebs=c(8, 8, 9, 3, 8, 7, 4),
                 blocks=c(1, 2, 2, 1, 0, 4, 1))

#view data frame
df

  team pts rebs blocks
1    a   5    8      1
2    a   8    8      2
3    b  14    9      2
4    b  18    3      1
5    b   5    8      0
6    c   7    7      4
7    c   7    4      1

Exemple 1 : exécuter une fonction SUMIF sur une colonne

Le code suivant montre comment trouver la somme des points pour chaque équipe :

aggregate(pts ~ team, data=df, sum)

  team pts
1    a  13
2    b  37
3    c  14

Exemple 2 : exécuter une fonction SUMIF sur plusieurs colonnes

Le code suivant montre comment trouver la somme des points et des rebonds pour chaque équipe :

aggregate(cbind(pts, rebs) ~ team, data=df, sum)

  team pts rebs
1    a  13   16
2    b  37   20
3    c  14   11

Exemple 3 : exécuter une fonction SUMIF sur toutes les colonnes

Le code suivant montre comment trouver la somme de toutes les colonnes du bloc de données pour chaque équipe :

aggregate(. ~ team, data=df, sum)

  team pts rebs blocks
1    a  13   16      3
2    b  37   20      3
3    c  14   11      5

Remarque : Le point ( . ) est utilisé dans R pour représenter « toutes » les colonnes.

Ressources additionnelles

Comment exécuter une fonction COUNTIF dans R
Comment additionner des colonnes spécifiques dans R
Comment additionner des lignes spécifiques dans R

Ajouter un commentaire

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