For Loop in R med eksempler for List og Matrix
En for-lรธkke er veldig verdifull nรฅr vi trenger รฅ iterere over en liste med elementer eller en rekke tall. Loop kan brukes til รฅ iterere over en liste, dataramme, vektor, matrise eller et hvilket som helst annet objekt. Seler og firkantet parentes er obligatoriske.
I denne opplรฆringen vil vi lรฆre,
For lรธkkesyntaks og eksempler
For (i in vector) {
Exp
}
Her
R vil slรธyfe over alle variablene i vektor og gjรธre beregningen skrevet inne i exp.

La oss se noen eksempler.
For Loop in R Eksempel 1: Vi itererer over alle elementene i en vektor og skriver ut gjeldende verdi.
# Create fruit vector
fruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana')
# Create the for statement
for ( i in fruit){
print(i)
}
Utgang:
## [1] "Apple" ## [1] "Orange" ## [1] "Passion fruit" ## [1] "Banana"
For Loop in R Eksempel 2: lager en ikke-lineรฆr funksjon ved รฅ bruke polynomet til x mellom 1 og 4 og vi lagrer 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)
Utgang:
## [1] 1 4 9 16
For-lรธkken er svรฆrt verdifull for maskinlรฆringsoppgaver. Etter at vi har trent en modell, mรฅ vi regularisere modellen for รฅ unngรฅ overtilpasning. Regularisering er en veldig kjedelig oppgave fordi vi mรฅ finne verdien som minimerer tapsfunksjonen. For รฅ hjelpe oss med รฅ oppdage disse verdiene, kan vi bruke en for-lรธkke for รฅ iterere over en rekke verdier og definere den beste kandidaten.
For Loop over en liste
Looping over en liste er like enkelt og praktisk som รฅ ta en doping over en vektor. La oss 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)
}
Utgang:
## [1] "Apple" "Orange" "Passion fruit" "Banana" ## [1] 10 12 15 ## [1] FALSE
For Lรธkke over en matrise
En matrise har 2-dimensjoner, rader og kolonner. For รฅ iterere over en matrise, mรฅ vi definere to for lรธkke, nemlig en for radene og en annen 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]))
Utgang:
## [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"
