HOWTO · R
Verschachtelte for-Schleifen in R
Dieser Artikel zeigt, wie man verschachtelte for-Schleifen in R . verwendet
Dieser Artikel stellt die verschachtelten for-Schleifen in R vor.
for-Schleife in R-Sprache
Die for-Schleife ist in der Sprache R mit ähnlichen Heuristiken wie in den meisten Programmiersprachen verfügbar. Es wiederholt den angegebenen Codeblock mehrmals. Die Syntax der for-Schleife lautet wie folgt.
for (item in set) {}
item ist ein Objekt, das das iterierte Element aus dem set speichert. Die for-Schleife gibt keine Ausgabe zurück, daher müssen wir die print-Funktion aufrufen, um den word-Wert bei jeder Iteration auszugeben.
vec1 <- c("ace", "spades", "king", "spades", "queen", "spades", "jack",
"spades", "ten", "spades")
for (word in vec1) {
print(word)
}
Ausgabe:
[1] "ace"
[1] "spades"
[1] "king"
[1] "spades"
[1] "queen"
[1] "spades"
[1] "jack"
[1] "spades"
[1] "ten"
[1] "spades"
Wir können auch die for-Schleife implementieren, bei der der Index als Variable verfügbar gemacht wird. In diesem Fall wird die Funktion length verwendet, um die Größe des Vektors vec1 zu berechnen und vom ersten Element bis zum Ende zu iterieren. Beachten Sie, dass die Notation 1: wichtig ist und den Anfang des Bereichs angibt. Der folgende Beispielcode erstellt einen String-Vektor, der mit der for-Schleife in einen anderen Vektor der gleichen Größe kopiert wird.
vec1 <- c("ace", "spades", "king", "spades", "queen", "spades", "jack",
"spades", "ten", "spades")
vec2 <- vector(length = length(vec1))
for (i in 1:length(vec1)) {
vec2[i] <- vec1[i]
}
vec2
Ausgabe:
[1] "ace" "spades" "king" "spades" "queen" "spades" "jack" "spades" "ten"
[10] "spades"
Verwenden Sie eine verschachtelte for-Schleife, um über Matrixelemente in R . zu iterieren
Verschachtelte Schleifen können mit der Schleifenstruktur for realisiert werden. Dies kann verwendet werden, um über Matrixelemente zu iterieren und sie mit Zufallswerten zu initialisieren. Beachten Sie, dass die allgemeine Notation dieselbe ist wie im vorherigen Beispiel, außer dass das Ende des Bereichs mit den Funktionen nrow und ncol berechnet wird. nrow und ncol geben die Anzahl der Zeilen bzw. Spalten des Arrays zurück.
mat1 <- matrix(0, nrow = 5, ncol = 5)
for (i in 1:nrow(mat1)) {
for (j in 1:ncol(mat1)) {
mat1[i, j] <- sample(1:100, 1, replace=TRUE)
}
}
mat1
Ausgabe:
[,1] [,2] [,3] [,4] [,5]
[1,] 13 14 13 67 98
[2,] 28 50 23 55 9
[3,] 3 65 99 17 93
[4,] 18 6 20 50 46
[5,] 51 76 33 26 3
Die verschachtelte Schleifenstruktur funktioniert im vorherigen Beispielcode jedoch einwandfrei. Die Matrix-Initialisierung erfolgt besser mit der Funktion sample, die direkt als erstes Argument der Funktion matrix verkettet ist, wie im folgenden Ausschnitt gezeigt.
mat2 <- matrix(sample(1:100, 25, replace = TRUE), ncol = 5)
mat2
Ausgabe:
[,1] [,2] [,3] [,4] [,5]
[1,] 85 19 26 53 88
[2,] 44 50 66 96 56
[3,] 42 46 37 19 66
[4,] 43 23 13 32 67
[5,] 56 51 21 2 56