Skirta R kilpai su sąrašo ir matricos pavyzdžiais

„A for loop“ yra labai vertinga, kai turime kartoti elementų sąrašą arba skaičių diapazoną. Kilpa gali būti naudojama kartojant sąrašą, duomenų rėmelį, vektorių, matricą ar bet kurį kitą objektą. Petnešos ir laužtinis skliaustas yra privalomi.

Šioje pamokoje sužinosime,

  • Dėl kilpos sintaksės ir pavyzdžių
  • Norėdami pereiti per sąrašą
  • Už kilpą per matricą

Dėl kilpos sintaksės ir pavyzdžių

For (i in vector) {Exp}

Čia

R sukurs visus vektoriaus kintamuosius ir atliks skaičiavimą, parašytą exp viduje.

Pažiūrėkime keletą pavyzdžių.

1 pavyzdys : Kartojame visus vektoriaus elementus ir atspausdiname dabartinę vertę.

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

Išvestis:

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

2 pavyzdys : sukuria netiesinę funkciją naudodama x polinomą nuo 1 iki 4 ir mes jį saugome sąraše

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

Išvestis:

## [1] 1 4 9 16 

„For loop“ yra labai vertinga atliekant mašininio mokymosi užduotis. Išmokę modelį, turime modelį sureguliuoti, kad išvengtume per didelio pritaikymo. Reguliavimas yra labai varginanti užduotis, nes turime rasti vertę, kuri sumažintų nuostolių funkciją. Norėdami padėti mums nustatyti tas vertes, galime naudoti „for loop“, norėdami kartoti vertybių diapazoną ir apibrėžti geriausią kandidatą.

Norėdami pereiti per sąrašą

Sąrašo peržiūra yra tokia pat lengva ir patogi, kaip perėjimas prie vektoriaus. Pažiūrėkime pavyzdį

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

Išvestis:

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

Už kilpą per matricą

Matricoje yra 2 dimensijos, eilutės ir stulpeliai. Norėdami pakartoti matricą, turime apibrėžti du ciklui, ty vieną eilutėms ir kitą stulpeliui.

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

Išvestis:

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

Įdomios straipsniai...