For Loop in R med eksempler på List og Matrix
En for-løkke er meget værdifuld, når vi skal iterere over en liste af elementer eller en række tal. Loop kan bruges til at iterere over en liste, dataramme, vektor, matrix eller ethvert andet objekt. Seler og firkantet beslag er obligatoriske.
I denne tutorial lærer vi,
Til sløjfesyntaks og eksempler
For (i in vector) { Exp }
Her,
R vil sløjfe over alle variablerne i vektor og udføre beregningen skrevet inde i exp.

Lad os se et par eksempler.
For Loop in R Eksempel 1: Vi itererer over alle elementerne i en vektor og udskriver den aktuelle værdi.
# 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"
For Loop in R Eksempel 2: opretter en ikke-lineær funktion ved at bruge polynomiet af x mellem 1 og 4, og vi gemmer det i en liste
# 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
For-løkken er meget værdifuld til maskinlæringsopgaver. Efter at vi har trænet en model, skal vi regulere modellen for at undgå overpasning. Regularisering er en meget kedelig opgave, fordi vi skal finde den værdi, der minimerer tabsfunktionen. For at hjælpe os med at opdage disse værdier kan vi bruge en for-løkke til at iterere over en række værdier og definere den bedste kandidat.
For Loop over en liste
At løkke over en liste er lige så nemt og bekvemt som at løkke over en vektor. Lad os se et eksempel
# 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 en matrix
En matrix har 2-dimension, rækker og kolonner. For at iterere over en matrix skal vi definere to for loop, nemlig en for rækkerne og en anden for kolonnen.
# 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"