Boucle R pour
Pour les boucles
Une for
boucle est utilisée pour itérer sur une séquence :
Exemple
for (x in 1:10) {
print(x)
}
Cela ressemble moins au mot- for
clé dans d'autres langages de programmation et fonctionne plus comme une méthode itérative que l'on trouve dans d'autres langages de programmation orientés objet.
Avec la for
boucle, nous pouvons exécuter un ensemble d'instructions, une fois pour chaque élément d'un vecteur, d'un tableau, d'une liste, etc.
Vous en apprendrez plus sur les listes et les vecteurs , etc. dans un chapitre ultérieur.
Exemple
Imprimer chaque élément d'une liste :
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
print(x)
}
Exemple
Imprimez le nombre de dés :
dice <- c(1, 2, 3, 4, 5, 6)
for (x in dice) {
print(x)
}
La for
boucle ne nécessite pas de variable d'indexation à définir au préalable, comme avec les while
boucles.
Casser
Avec l' break
instruction, nous pouvons arrêter la boucle avant qu'elle n'ait parcouru tous les éléments :
Exemple
Arrêtez la boucle à "cerise":
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "cherry") {
break
}
print(x)
}
La boucle s'arrêtera à "cherry" car nous avons choisi de terminer la boucle en utilisant l' break
instruction when
x
est égal à "cherry" ( x ==
"cherry"
).
Suivant
Avec l' next
instruction, nous pouvons ignorer une itération sans terminer la boucle :
Exemple
Sauter "banane":
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "banana") {
next
}
print(x)
}
Lorsque la boucle passe "banane", elle la saute et continue à boucler.
Yahtzee !
Si .. Sinon combiné avec une boucle For
Pour illustrer un exemple pratique, disons que nous jouons à un jeu de Yahtzee !
Exemple
Impression "Yahtzee !" Si le nombre de dés est 6 :
dice <- 1:6
for(x in dice) {
if (x == 6) {
print(paste("The dice number is", x, "Yahtzee!"))
} else {
print(paste("The dice number is", x, "Not Yahtzee"))
}
}
Si la boucle atteint les valeurs comprises entre 1 et 5, elle imprime "No Yahtzee" et son numéro. Lorsqu'il atteint la valeur 6, il imprime "Yahtzee!" et son numéro.
Boucles imbriquées
Vous pouvez également avoir une boucle à l'intérieur d'une boucle :
Exemple
Imprimez l'adjectif de chaque fruit dans une liste :
adj <- list("red", "big", "tasty")
fruits <- list("apple", "banana",
"cherry")
for (x in adj) {
for (y in fruits) {
print(paste(x, y))
}
}