R For-Schleife
Für Schleifen
Eine for
Schleife wird zum Iterieren über eine Sequenz verwendet:
Beispiel
for (x in 1:10) {
print(x)
}
Dies ähnelt weniger dem for
Schlüsselwort in anderen Programmiersprachen und funktioniert eher wie eine Iteratormethode, wie sie in anderen objektorientierten Programmiersprachen zu finden ist.
Mit der for
Schleife können wir eine Reihe von Anweisungen ausführen, einmal für jedes Element in einem Vektor, Array, einer Liste usw.
Beispiel
Drucken Sie jeden Artikel in einer Liste:
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
print(x)
}
Beispiel
Drucken Sie die Anzahl der Würfel:
dice <- c(1, 2, 3, 4, 5, 6)
for (x in dice) {
print(x)
}
Die for
Schleife benötigt keine vorher zu setzende Indizierungsvariable wie bei while
Schleifen.
Brechen
Mit der break
Anweisung können wir die Schleife stoppen, bevor sie alle Elemente durchlaufen hat:
Beispiel
Stoppen Sie die Schleife bei "Kirsche":
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "cherry") {
break
}
print(x)
}
Die Schleife stoppt bei "Kirsche", weil wir uns dafür entschieden haben, die Schleife mit der break
Anweisung when
x
is equal to "cherry" ( x ==
"cherry"
) zu beenden.
Nächste
Mit der next
Anweisung können wir eine Iteration überspringen, ohne die Schleife zu beenden:
Beispiel
„Banane“ überspringen:
fruits <- list("apple", "banana", "cherry")
for (x in fruits) {
if (x == "banana") {
next
}
print(x)
}
Wenn die Schleife "Banane" passiert, wird sie übersprungen und die Schleife fortgesetzt.
Yahtzee!
If .. Else Kombiniert mit einer For-Schleife
Um ein praktisches Beispiel zu demonstrieren, sagen wir, wir spielen Yahtzee!
Beispiel
Drucken "Yahtzee!" Wenn die Würfelzahl 6 ist:
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"))
}
}
Wenn die Schleife die Werte von 1 bis 5 erreicht, gibt sie "No Yahtzee" und seine Nummer aus. Wenn es den Wert 6 erreicht, druckt es "Yahtzee!" und seine Nummer.
Verschachtelte Schleifen
Sie können auch eine Schleife innerhalb einer Schleife haben:
Beispiel
Drucken Sie das Adjektiv jeder Frucht in einer Liste aus:
adj <- list("red", "big", "tasty")
fruits <- list("apple", "banana",
"cherry")
for (x in adj) {
for (y in fruits) {
print(paste(x, y))
}
}