For-Schleife in R mit Beispielen für Liste und Matrix
Eine For-Schleife ist sehr nützlich, wenn wir über eine Liste von Elementen oder einen Zahlenbereich iterieren müssen. Mit einer Schleife können Sie über eine Liste, einen Datenrahmen, einen Vektor, eine Matrix oder ein beliebiges anderes Objekt iterieren. Die Klammern und die eckige Klammer sind obligatorisch.
In diesem Tutorial lernen wir,
For-Schleifensyntax und Beispiele
For (i in vector) { Exp }
Hier
R durchläuft alle Variablen im Vektor und führt die in exp geschriebene Berechnung durch.

Schauen wir uns ein paar Beispiele an.
For-Schleife in R Beispiel 1: Wir durchlaufen alle Elemente eines Vektors und geben den aktuellen Wert aus.
# Create fruit vector fruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana') # Create the for statement for ( i in fruit){ print(i) }
Ausgang:
## [1] "Apple" ## [1] "Orange" ## [1] "Passion fruit" ## [1] "Banana"
For-Schleife in R Beispiel 2: Erstellt eine nichtlineare Funktion, indem wir das Polynom von x zwischen 1 und 4 verwenden und es in einer Liste speichern
# Create an empty list list <- c() # Create a for statement to populate the list for (i in seq(1, 4, by=1)) { list[[i]] <- i*i } print(list)
Ausgang:
## [1] 1 4 9 16
Die for-Schleife ist für maschinelle Lernaufgaben sehr wertvoll. 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 uns bei der Erkennung dieser Werte zu helfen, können wir eine for-Schleife verwenden, um einen Wertebereich zu durchlaufen und den besten Kandidaten zu definieren.
For-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 vectors fruit <- list(Basket = c('Apple', 'Orange', 'Passion fruit', 'Banana'), Money = c(10, 12, 15), purchase = FALSE) for (p in fruit) { print(p) }
Ausgang:
## [1] "Apple" "Orange" "Passion fruit" "Banana" ## [1] 10 12 15 ## [1] FALSE
For-Schleife über eine Matrix
Eine Matrix hat zwei Dimensionen, Zeilen und Spalten. Um über eine Matrix zu iterieren, müssen wir zwei for-Schleifen definieren, nämlich eine für die Zeilen und eine für die Spalte.
# Create a matrix mat <- matrix(data = seq(10, 20, by=1), nrow = 6, ncol =2) # Create the loop with r and c to iterate over the matrix for (r in 1:nrow(mat)) for (c in 1:ncol(mat)) print(paste("Row", r, "and column",c, "have values of", mat[r,c]))
Ausgang:
## [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"