Comment ajouter une colonne de comptage à un bloc de données dans R



Vous pouvez utiliser la syntaxe de base suivante pour ajouter une colonne « count » à un bloc de données dans R :

df %>%
  group_by(var1) %>%
  mutate(var1_count = n())

Cette syntaxe particulière ajoute une colonne appelée var1_count au bloc de données qui contient le nombre de valeurs dans la colonne appelée var1 .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : ajouter une colonne de nombre dans R

Supposons que nous ayons le bloc de données suivant dans R qui contient des informations sur divers joueurs de basket-ball :

#define data frama
df <- data.frame(team=c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'),
                 position=c('G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(18, 22, 19, 14, 14, 11, 20, 28))

#view data frame
df

  team position points
1    A        G     18
2    A        F     22
3    A        F     19
4    B        F     14
5    B        G     14
6    B        G     11
7    B        F     20
8    B        F     28

Nous pouvons utiliser le code suivant pour ajouter une colonne appelée team_count qui contient le nombre de chaque équipe :

library(dplyr)

#add column that shows total count of each team
df %>%
  group_by(team) %>%
  mutate(team_count = n())

# A tibble: 8 x 4
# Groups:   team [2]
  team  position points team_count
              
1 A     G            18          3
2 A     F            22          3
3 A     F            19          3
4 B     F            14          5
5 B     G            14          5
6 B     G            11          5
7 B     F            20          5
8 B     F            28          5

Il y a 3 lignes avec une valeur d’équipe de A et 5 lignes avec une valeur d’équipe de B.

Ainsi:

  • Pour chaque ligne où l’équipe est égale à A, la valeur dans la colonne team_count est 3 .
  • Pour chaque ligne où l’équipe est égale à B, la valeur dans la colonne team_count est 5 .

Vous pouvez également ajouter une colonne « compte » qui regroupe plusieurs variables.

Par exemple, le code suivant montre comment ajouter une colonne « compte » qui regroupe les variables d’ équipe et de position :

library(dplyr)

#add column that shows total count of each team and position
df %>%
  group_by(team, position) %>%
  mutate(team_pos_count = n())

# A tibble: 8 x 4
# Groups:   team, position [4]
  team  position points team_pos_count
                  
1 A     G            18              1
2 A     F            22              2
3 A     F            19              2
4 B     F            14              3
5 B     G            14              2
6 B     G            11              2
7 B     F            20              3
8 B     F            28              3

À partir du résultat, nous pouvons voir :

  • Il y a 1 ligne qui contient A dans la colonne équipe et G dans la colonne position .
  • Il y a 2 lignes qui contiennent A dans la colonne équipe et F dans la colonne position .
  • Il y a 3 lignes qui contiennent B dans la colonne équipe et F dans la colonne position .
  • Il y a 2 lignes qui contiennent B dans la colonne équipe et F dans la colonne position .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment regrouper par et compter avec condition dans R
Comment compter le nombre d’éléments dans la liste dans R
Comment sélectionner des lignes uniques dans un bloc de données dans R

Ajouter un commentaire

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