Fonction ifelse() de R - Évaluation conditionnelle vectorisée
La fonction ifelse() de R est utilisée pour effectuer un jugement conditionnel et une affectation élément par élément sur des vecteurs.
ifelse() est une version vectorisée de if...else, qui peut traiter un vecteur entier en une seule fois et est plus efficace que les boucles.
La syntaxe de la fonction ifelse() est la suivante :
ifelse(test, yes, no)
Description du paramètre :
testExpression de condition logique.
yesValeur renvoyée lorsque la condition est TRUE.
noValeur renvoyée lorsque la condition est FALSE.
Exemple
scores <- c(85, 92, 78, 95, 88, 72, 90, 68, 82, 89)
# Utiliser ifelse pour déterminer réussite/échec
result <- ifelse(scores >= 60, "Pass", "Fail")
print("Jugement Réussite/Échec :")
print(result)
# Jugement à plusieurs niveaux (ifelse imbriqué)
grade <- ifelse(scores >= 90, "Excellent",
ifelse(scores >= 80, "Bon",
ifelse(scores >= 70, "Moyen",
ifelse(scores >= 60, "Réussite", "Échec"))))
print("Jugement de la note :")
print(grade)
# Utiliser ifelse pour déterminer réussite/échec
result <- ifelse(scores >= 60, "Pass", "Fail")
print("Jugement Réussite/Échec :")
print(result)
# Jugement à plusieurs niveaux (ifelse imbriqué)
grade <- ifelse(scores >= 90, "Excellent",
ifelse(scores >= 80, "Bon",
ifelse(scores >= 70, "Moyen",
ifelse(scores >= 60, "Réussite", "Échec"))))
print("Jugement de la note :")
print(grade)
L'exécution du code ci-dessus produit la sortie suivante :
[1] "及格判断:" [1] "及格" "及格" "及格" "及格" "及格" "及格" "及格" [8] "及格" "及格" "及格" [1] "等级判断:" [1] "良好" "优秀" "中等" "优秀" "良好" "中等" "优秀" [8] "及格" "良好" "良好"
ifelse() peut également être utilisé pour le nettoyage des données et le remplacement de valeurs :
Exemple
# Nettoyage des données : remplacer les valeurs négatives par 0
values <- c(10, -5, 20, -3, 15, -8, 25)
cleaned <- ifelse(values < 0, 0, values)
print("Valeurs négatives remplacées par 0 :")
print(cleaned)
# Remplacement des valeurs manquantes
data_with_na <- c(10, NA, 20, NA, 30)
replaced <- ifelse(is.na(data_with_na), 0, data_with_na)
print("NA remplacé par 0 :")
print(replaced)
values <- c(10, -5, 20, -3, 15, -8, 25)
cleaned <- ifelse(values < 0, 0, values)
print("Valeurs négatives remplacées par 0 :")
print(cleaned)
# Remplacement des valeurs manquantes
data_with_na <- c(10, NA, 20, NA, 30)
replaced <- ifelse(is.na(data_with_na), 0, data_with_na)
print("NA remplacé par 0 :")
print(replaced)
L'exécution du code ci-dessus produit la sortie suivante :
[1] "负值替换为 0:" [1] 10 0 20 0 15 0 25 [1] "NA 替换为 0:" [1] 10 0 20 0 30Autres extensions
Exemples du langage R