R-i silmuse jaoks koos loendi ja maatriksi näidetega

Lang L: none (table-of-contents):

Anonim

A for loop on väga väärtuslik, kui peame elementide loendi või arvude vahemiku järgi kordama. Loopi saab kasutada loendi, andmeraami, vektori, maatriksi või mis tahes muu objekti kordamiseks. Traksid ja nurksulg on kohustuslikud.

Selles õpetuses õpime,

  • Silmusüntaks ja näited
  • Loendi vaatamiseks
  • Loop maatriksi jaoks

Silmusüntaks ja näited

For (i in vector) {Exp}

Siin,

R silmustab kõiki vektoris olevaid muutujaid ja teeb exp-i sisse kirjutatud arvutuse.

Vaatame mõnda näidet.

Näide 1 : itereerime vektori kõik elemendid ja printime praeguse väärtuse.

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

Väljund:

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

Näide 2 : loob mittelineaarse funktsiooni, kasutades polünoomi x vahemikus 1 kuni 4 ja salvestame selle loendisse

# Create an empty listlist <- c()# Create a for statement to populate the listfor (i in seq(1, 4, by=1)) {list[[i]] <- i*i}print(list)

Väljund:

## [1] 1 4 9 16 

For loop on masinõppeülesannete jaoks väga väärtuslik. Pärast mudeli väljaõpetamist peame mudeli üle seadma, et vältida üleliigset paigaldamist. Reguleerimine on väga tüütu ülesanne, sest peame leidma väärtuse, mis minimeerib kadumisfunktsiooni. Nende väärtuste tuvastamiseks saame väärtuste vahemikus kordamiseks ja parima kandidaadi määramiseks kasutada for for loopi.

Loendi vaatamiseks

Loendi vaatamine on sama lihtne ja mugav kui vektoriga silitamine. Vaatame näite

# Create a list with three vectorsfruit <- 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

Loop maatriksi jaoks

Maatriksil on 2-mõõtmeline, rida ja veerud. Maatriksi kohal kordamiseks peame määratlema kaks silmuse jaoks, nimelt üks ridade jaoks ja teine ​​veeru jaoks.

# Create a matrixmat <- matrix(data = seq(10, 20, by=1), nrow = 6, ncol =2)# Create the loop with r and c to iterate over the matrixfor (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"