R : Comment compter les valeurs dans une colonne avec condition



Vous pouvez utiliser les méthodes suivantes pour compter le nombre de valeurs dans une colonne d’un bloc de données dans R avec une condition spécifique :

Méthode 1 : compter les valeurs dans une colonne avec condition

nrow(df[df$column1 == 'value1', ])

Méthode 2 : compter les valeurs dans plusieurs colonnes avec des conditions

nrow(df[df$column1 == 'value1' & df$column2 == 'value2', ]) 

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant dans R :

#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 12, 3, 14, 22, 15, 17, 17))

#view data frame
df

  team position points
1    A        G     10
2    A        G     12
3    A        F      3
4    A        F     14
5    B        G     22
6    B        G     15
7    B        F     17
8    B        F     17

Exemple 1 : Compter les valeurs dans une colonne avec condition

Le code suivant montre comment compter le nombre de valeurs dans la colonne équipe où la valeur est égale à ‘ A ‘ :

#count number of rows where team is equal to 'B'
nrow(df[df$team == 'B', ])

[1] 4

Nous pouvons voir qu’il y a 4 valeurs dans la colonne équipe où la valeur est égale à « B ».

Exemple 2 : Compter les valeurs dans plusieurs colonnes avec des conditions

Le code suivant montre comment compter le nombre de lignes dans le bloc de données où la colonne d’équipe est égale à « B » et la colonne de position est égale à « F » :

#count number of rows where team is equal to 'B' and position is equal to 'F'
nrow(df[df$team == 'B' & df$position == 'F', ])

[1] 2

Nous pouvons voir qu’il y a 2 lignes dans le bloc de données qui remplissent ces deux conditions.

Nous pouvons utiliser une syntaxe similaire pour compter le nombre de lignes qui remplissent le nombre de conditions souhaitées.

Par exemple, le code suivant montre comment compter le nombre de lignes qui remplissent trois conditions :

  • l’équipe est égale à ‘B’
  • la position est égale à ‘G’
  • les points sont supérieurs à 20
#count rows where team is 'B' and position is 'G' and points > 20
nrow(df[df$team == 'B' & df$position == 'G' & df$points > 20, ])

[1] 1

Nous pouvons voir qu’une seule ligne du bloc de données remplit ces trois conditions.

Ressources additionnelles

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

Comment compter le nombre de lignes 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 *