For Loop in R met voorbeelden voor lijst en matrix

Een for-lus is erg waardevol als we over een lijst met elementen of een reeks getallen moeten itereren. Loop kan worden gebruikt om over een lijst, data frame, vector, matrix of een ander object te itereren. De accolades en vierkante haken zijn verplicht.

In deze tutorial zullen we leren,

Voor lussyntaxis en voorbeelden

For (i in vector) {
    Exp	
}

Hier

R zal alle variabelen in vector herhalen en de berekening uitvoeren die in de exp is geschreven.

Voor lus in R
Voor lus in R

Laten we een paar voorbeelden bekijken.

Voor lus in R Voorbeeld 1: We herhalen alle elementen van een vector en drukken de huidige waarde af.

# Create fruit vector
fruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana')
# Create the for statement
for ( i in fruit){ 
 print(i)
}

Output:

## [1] "Apple"
## [1] "Orange"
## [1] "Passion fruit"
## [1] "Banana"

Voor lus in R 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 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)

Output:

## [1]   1  4 9 16

De for-lus is zeer waardevol voor machine learning-taken. Nadat we een model hebben getraind, moeten we het model regulariseren om overfitting te voorkomen. Regularisatie is een zeer vervelende taak omdat we de waarde moeten vinden die de verliesfunctie minimaliseert. Om ons te helpen deze waarden te detecteren, kunnen we een for-lus gebruiken om een ​​reeks waarden te doorlopen en de beste kandidaat te definiëren.

For Loop over een lijst

Het doorlopen van een lijst is net zo eenvoudig en handig als het herhalen van een vector. Laten we een voorbeeld bekijken

# 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)
}

Output:

## [1] "Apple" "Orange" "Passion fruit" "Banana"       
## [1] 10 12 15
## [1] FALSE

For Loop over een matrix

Een matrix heeft 2 dimensies, rijen en kolommen. Om een ​​matrix te doorlopen, moeten we twee for-lussen definiëren, namelijk één voor de rijen en één voor de kolom.

# 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]))  

Output:

## [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"