Comment utiliser « OU » Opérateur en R (avec exemples)



Vous pouvez utiliser le | symbole comme opérateur « OU » dans R.

Par exemple, vous pouvez utiliser la syntaxe de base suivante pour filtrer les lignes d’un bloc de données dans R qui satisfont à la condition 1 ou à la condition 2 :

df[(condition1) | (condition2), ]

Les exemples suivants montrent comment utiliser cet opérateur « OU » dans différents scénarios.

Exemple 1 : utilisez l’opérateur « OR » pour filtrer les lignes en fonction de valeurs numériques dans R

Supposons que nous ayons le bloc de données suivant dans R :

#create data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'),
                 points=c(25, 12, 15, 14, 19, 23, 25, 29),
                 assists=c(5, 7, 7, 9, 12, 9, 9, 4),
                 rebounds=c(11, 8, 10, 6, 6, 5, 9, 12))

#view data frame
df

  team points assists rebounds
1    A     25       5       11
2    A     12       7        8
3    B     15       7       10
4    B     14       9        6
5    B     19      12        6
6    B     23       9        5
7    C     25       9        9
8    C     29       4       12

Nous pouvons utiliser la syntaxe suivante pour filtrer les lignes du bloc de données où la valeur dans la colonne des points est supérieure à 20 ou la valeur dans la colonne des assistances est égale à 9 :

#filter rows where points > 20 or assists = 9
df[(df$points > 20) | (df$assists == 9), ]

  team points assists rebounds
1    A     25       5       11
4    B     14       9        6
6    B     23       9        5
7    C     25       9        9
8    C     29       4       12

Les seules lignes renvoyées sont celles où la valeur des points est supérieure à 20 ou la valeur des passes décisives est égale à 9.

Exemple 2 : utilisez l’opérateur « OR » pour filtrer les lignes en fonction des valeurs de chaîne dans R

Supposons que nous ayons le bloc de données suivant dans R :

#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'),
                 position=c('G', 'G', 'F', 'F', 'C', 'F', 'C', 'C'),
                 conference=c('W', 'W', 'W', 'W', 'E', 'E', 'E', 'E'),
                 points=c(11, 8, 10, 6, 6, 5, 9, 12))

#view data frame
df

  team position conference points
1    A        G          W     11
2    B        G          W      8
3    C        F          W     10
4    D        F          W      6
5    E        C          E      6
6    F        F          E      5
7    G        C          E      9
8    H        C          E     12

Nous pouvons utiliser la syntaxe suivante pour filtrer les lignes du bloc de données où la valeur dans la colonne de position est égale à G ou la valeur dans la colonne de position est égale à F ou la valeur dans la colonne d’équipe est égale à H :

#filter rows based on string values
df[(df$team == 'H') | (df$position == 'G') | (df$position == 'F'), ]

  team position conference points
1    A        G          W     11
2    B        G          W      8
3    C        F          W     10
4    D        F          W      6
6    F        F          E      5
8    H        C          E     12

Les seules lignes renvoyées sont celles qui remplissent au moins une des trois conditions spécifiées.

Ressources additionnelles

Les didacticiels suivants expliquent comment utiliser d’autres opérateurs courants dans R :

Comment utiliser l’opérateur de signe dollar ($) dans R
Comment utiliser l’opérateur Tilde (~) dans R
Comment utiliser l’opérateur « NOT IN » dans R

Ajouter un commentaire

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