Een for-lus is erg waardevol wanneer we een lijst met elementen of een reeks getallen moeten herhalen. Loop kan worden gebruikt om een lijst, dataframe, vector, matrix of elk ander object te herhalen. De accolades en vierkante haakjes zijn verplicht.
In deze tutorial zullen we leren,
- Voor Loop-syntaxis en voorbeelden
- Voor Loop over een lijst
- Voor Loop over een matrix
Voor Loop-syntaxis en voorbeelden
For (i in vector) {Exp}
Hier,
R zal alle variabelen in vector doorlopen en de berekening uitvoeren die in de exp is geschreven.
Laten we een paar voorbeelden bekijken.
Voorbeeld 1 : we herhalen alle elementen van een vector en drukken de huidige waarde af.
# Create fruit vectorfruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana')# Create the for statementfor ( i in fruit){print(i)}
Uitgang:
## [1] "Apple"## [1] "Orange"## [1] "Passion fruit"## [1] "Banana"
Voorbeeld 2 : creëert een niet-lineaire functie door de polynoom van x tussen 1 en 4 te gebruiken en we slaan deze op in een lijst
# 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)
Uitgang:
## [1] 1 4 9 16
De for-lus is erg waardevol voor machine learning-taken. Nadat we een model hebben getraind, moeten we het model regulariseren om te veel passen te voorkomen. Regularisatie is een erg vervelende taak omdat we de waarde moeten vinden die de verliesfunctie minimaliseert. Om ons te helpen die waarden te detecteren, kunnen we een for-lus gebruiken om een reeks waarden te herhalen en de beste kandidaat te definiëren.
Voor Loop over een lijst
Het doorlopen van een lijst is net zo eenvoudig en handig als het doorlopen van een vector. Laten we een voorbeeld bekijken
# 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)}
Uitgang:
## [1] "Apple" "Orange" "Passion fruit" "Banana"## [1] 10 12 15## [1] FALSE
Voor Loop over een matrix
Een matrix heeft 2 dimensies, rijen en kolommen. Om een matrix te herhalen, moeten we twee for-lus definiëren, namelijk één voor de rijen en één voor de kolom.
# 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]))
Uitgang:
## [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"