För Loop in R med exempel för List och Matrix

En for-loop är mycket värdefull när vi behöver iterera över en lista med element eller ett antal nummer. Loop kan användas för att iterera över en lista, dataram, vektor, matris eller något annat objekt. Hängslen och hakparentesen är obligatoriska.

I den här handledningen kommer vi att lära oss,

För loopsyntax och exempel

For (i in vector) {
    Exp	
}

Här,

R kommer att loopa över alla variabler i vektor och göra beräkningen som skrivits inuti exp.

För Loop in R
För Loop in R

Låt oss se några exempel.

För Loop in R Exempel 1: Vi itererar över alla element i en vektor och skriver ut det aktuella värdet.

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

Produktion:

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

För Loop in R Exempel 2: skapar en icke-linjär funktion genom att använda polynomet x mellan 1 och 4 och vi lagrar det i en lista

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

Produktion:

## [1]   1  4 9 16

For-slingan är mycket värdefull för maskininlärningsuppgifter. Efter att vi har tränat en modell måste vi reglera modellen för att undvika övermontering. Regularisering är en mycket tråkig uppgift eftersom vi måste hitta värdet som minimerar förlustfunktionen. För att hjälpa oss att upptäcka dessa värden kan vi använda en for-loop för att iterera över ett antal värden och definiera den bästa kandidaten.

För Slinga över en lista

Att loopa över en lista är lika enkelt och bekvämt som att loopa över en vektor. Låt oss se ett exempel

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

Produktion:

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

För Slinga över en matris

En matris har tvådimensionella rader och kolumner. För att iterera över en matris måste vi definiera två för loop, nämligen en för raderna och en annan för kolumnen.

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

Produktion:

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

Sammanfatta detta inlägg med: