Boucle R pour


Pour les boucles

Une forboucle est utilisée pour itérer sur une séquence :

Exemple

for (x in 1:10) {
  print(x)
}

Cela ressemble moins au mot- forclé 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 forboucle, 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 forboucle ne nécessite pas de variable d'indexation à définir au préalable, comme avec les whileboucles.


Casser

Avec l' breakinstruction, 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' breakinstruction when xest égal à "cherry" ( x == "cherry").


Suivant

Avec l' nextinstruction, 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))
  }
}