For Loop in R koos näidetega loendi ja maatriksi jaoks

For silmus on väga väärtuslik, kui peame kordama elementide loendit või arvude vahemikku. Loopi saab kasutada loendi, andmeraami, vektori, maatriksi või mis tahes muu objekti itereerimiseks. Traksid ja nurksulg on kohustuslikud.

Selles õpetuses õpime,

Silmuse süntaksi ja näidete jaoks

For (i in vector) {
    Exp	
}

Siin

R teeb tsükli üle kõik vektori muutujad ja teeb exp sees kirjutatud arvutused.

Loopi jaoks R-is
Loopi jaoks R-is

Vaatame mõnda näidet.

Silmuse jaoks R näites 1: Kordame vektori kõiki elemente ja trükime praeguse väärtuse.

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

Väljund:

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

Silmuse jaoks R näites 2: loob mittelineaarse funktsiooni, kasutades x polünoomi vahemikus 1 kuni 4 ja salvestame selle loendisse

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

Väljund:

## [1]   1  4 9 16

For-silmus on masinõppe ülesannete jaoks väga väärtuslik. Pärast modelli väljaõpetamist peame modelli reguleerima, et vältida liigset istumist. Regulariseerimine on väga tüütu ülesanne, sest peame leidma väärtuse, mis minimeerib kadufunktsiooni. Nende väärtuste tuvastamiseks saame kasutada for-silmust, et korrata väärtuste vahemikku ja määratleda parim kandidaat.

For Loop loendist

Loendis silmuse loomine on sama lihtne ja mugav kui vektori silmus. Vaatame näidet

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

Väljund:

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

For Loop üle maatriksi

Maatriksil on 2-mõõtmelised read ja veerud. Maatriksi itereerimiseks peame defineerima kaks silmust, nimelt ühe ridade ja teise veeru jaoks.

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

Väljund:

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

Võta see postitus kokku järgmiselt: