Fonction ifelse() de R - Évaluation conditionnelle vectorisée

R 语言实例Exemples du langage R

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)

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)

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 30

R 语言实例Exemples du langage R

Autres extensions