Eine for-Schleife ist sehr wertvoll, wenn wir eine Liste von Elementen oder einen Bereich von Zahlen durchlaufen müssen. Die Schleife kann verwendet werden, um eine Liste, einen Datenrahmen, einen Vektor, eine Matrix oder ein anderes Objekt zu durchlaufen. Die Klammern und die eckige Klammer sind obligatorisch.
In diesem Tutorial lernen wir:
- Für Schleifensyntax und Beispiele
- Für Schleife über eine Liste
- Für Schleife über eine Matrix
Für Schleifensyntax und Beispiele
For (i in vector) {Exp}
Hier,
R durchläuft alle Variablen im Vektor und führt die Berechnung durch, die in exp geschrieben ist.
Sehen wir uns einige Beispiele an.
Beispiel 1 : Wir durchlaufen alle Elemente eines Vektors und drucken den aktuellen Wert.
# Create fruit vectorfruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana')# Create the for statementfor ( i in fruit){print(i)}
Ausgabe:
## [1] "Apple"## [1] "Orange"## [1] "Passion fruit"## [1] "Banana"
Beispiel 2 : Erstellt eine nichtlineare Funktion unter Verwendung des Polynoms von x zwischen 1 und 4 und wir speichern es in einer Liste
# Create an empty listlist <- c()# Create a for statement to populate the listfor (i in seq(1, 4, by=1)) {list[[i]] <- i*i}print(list)
Ausgabe:
## [1] 1 4 9 16
Die for-Schleife ist sehr wertvoll für maschinelle Lernaufgaben. Nachdem wir ein Modell trainiert haben, müssen wir das Modell regulieren, um eine Überanpassung zu vermeiden. Die Regularisierung ist eine sehr mühsame Aufgabe, da wir den Wert finden müssen, der die Verlustfunktion minimiert. Um diese Werte besser erkennen zu können, können wir eine for-Schleife verwenden, um einen Wertebereich zu durchlaufen und den besten Kandidaten zu definieren.
Für Schleife über eine Liste
Das Durchlaufen einer Liste ist genauso einfach und bequem wie das Durchlaufen eines Vektors. Sehen wir uns ein Beispiel an
# Create a list with three vectorsfruit <- list(Basket = c('Apple', 'Orange', 'Passion fruit', 'Banana'),Money = c(10, 12, 15), purchase = FALSE)for (p in fruit){print(p)}
Ausgabe:
## [1] "Apple" "Orange" "Passion fruit" "Banana"## [1] 10 12 15## [1] FALSE
Für Schleife über eine Matrix
Eine Matrix besteht aus zwei Dimensionen, Zeilen und Spalten. Um eine Matrix zu durchlaufen, müssen wir zwei for-Schleifen definieren, nämlich eine für die Zeilen und eine für die Spalte.
# Create a matrixmat <- matrix(data = seq(10, 20, by=1), nrow = 6, ncol =2)# Create the loop with r and c to iterate over the matrixfor (r in 1:nrow(mat))for (c in 1:ncol(mat))print(paste("Row", r, "and column",c, "have values of", mat[r,c]))
Ausgabe:
## [1] "Row 1 and column 1 have values of 10"## [1] "Row 1 and column 2 have values of 16"## [1] "Row 2 and column 1 have values of 11"## [1] "Row 2 and column 2 have values of 17"## [1] "Row 3 and column 1 have values of 12"## [1] "Row 3 and column 2 have values of 18"## [1] "Row 4 and column 1 have values of 13"## [1] "Row 4 and column 2 have values of 19"## [1] "Row 5 and column 1 have values of 14"## [1] "Row 5 and column 2 have values of 20"## [1] "Row 6 and column 1 have values of 15"## [1] "Row 6 and column 2 have values of 10"