Comment utiliser les fonctions all() et any() dans R (avec exemples)
Les fonctions all() et any() dans R peuvent être utilisées pour vérifier si toutes ou certaines valeurs d’un vecteur sont évaluées à VRAI pour une expression.
Ces fonctions utilisent la syntaxe suivante :
#check if all values in x are less than 10
all(x < 10)
#check if any values in x are less than 10
any(x < 10)
Les exemples suivants montrent comment utiliser chaque fonction dans la pratique.
Exemple 1 : utilisez all() et any() avec Vector
Nous pouvons utiliser les fonctions all() et any() suivantes pour vérifier si tout ou partie des valeurs d’un vecteur sont inférieures à 10 :
#define vector of data values
data <- c(3, 4, 4, 8, 12, 15)
#check if all values are less than 10
all(data < 10)
[1] FALSE
#check if any values are less than 10
any(data < 10)
[1] TRUE
La fonction all() est évaluée à FALSE car toutes les valeurs du vecteur ne sont pas inférieures à 10.
La fonction any() est évaluée à TRUE car au moins une valeur du vecteur est inférieure à 10.
Exemple 2 : utilisez all() avec les valeurs NA
Si nous utilisons la fonction all() avec un vecteur qui a des valeurs NA, nous pouvons recevoir NA en conséquence :
#define vector of data values with some NA values
data <- c(3, 4, 4, 8, NA, NA)
#check if all values are less than 10
all(data < 10)
[1] NA
Pour éviter cela, nous devons spécifier na.rm=TRUE pour d’abord supprimer les valeurs NA du vecteur avant de vérifier si toutes les valeurs remplissent une condition :
#define vector of data values with some NA values
data <- c(3, 4, 4, 8, NA, NA)
#check if all values are less than 10 (and ignore NA values)
all(data < 10, na.rm=TRUE)
[1] TRUE
La fonction all() est désormais évaluée à TRUE car chaque valeur du vecteur est inférieure à 10, en supposant que nous ignorons les valeurs NA.
Exemple 3 : utilisez all() et any() avec les colonnes du bloc de données
Nous pouvons également utiliser les fonctions all() et any() pour évaluer les expressions des colonnes du bloc de données.
Par exemple, supposons que nous ayons le bloc de données suivant dans R :
#define data frame
df <- data.frame(points=c(30, 22, 19, 20, 14, NA),
assists=c(7, 8, 13, 13, 10, 6),
rebounds=c(8, 12, NA, NA, 5, 8))
#view data frame
df
points assists rebounds
1 30 7 8
2 22 8 12
3 19 13 NA
4 20 13 NA
5 14 10 5
6 NA 6 8
Nous pouvons utiliser les fonctions all() et any() pour évaluer différentes expressions pour les valeurs de la colonne « rebonds » :
#check if all values are less than 10 in rebounds column
all(df$rebounds < 10, na.rm=TRUE)
[1] FALSE
#check if any values are less than 10 in rebounds column
any(df$rebounds < 10, na.rm=TRUE)
[1] TRUE
#check if there are any NA values in rebounds column
any(is.na(df$rebounds))
[1] TRUE
À partir du résultat, nous pouvons voir :
- Toutes les valeurs ne sont pas inférieures à 10 dans la colonne des rebonds.
- Au moins une valeur est inférieure à 10 dans la colonne des rebonds.
- Il y a au moins une valeur NA dans la colonne des rebonds.
Connexe : Comment utiliser is.na dans R (avec exemples)
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment ajouter une colonne à un bloc de données dans R
Comment ajouter une colonne vide à un bloc de données dans R
Comment trier un bloc de données par colonne dans R