For petlja u R s primjerima za listu i matricu
For petlja je vrlo vrijedna kada trebamo iterirati preko popisa elemenata ili niza brojeva. Petlja se može koristiti za ponavljanje preko popisa, podatkovnog okvira, vektora, matrice ili bilo kojeg drugog objekta. Zagrade i uglate zagrade su obavezne.
U ovom vodiču ćemo naučiti,
Za sintaksu petlje i primjere
For (i in vector) { Exp }
Ovdje,
R preći će sve varijable u vektoru i izvršiti izračun napisan unutar exp.

Pogledajmo nekoliko primjera.
For petlja u R primjeru 1: Iteriramo po svim elementima vektora i ispisujemo trenutnu vrijednost.
# Create fruit vector fruit <- c('Apple', 'Orange', 'Passion fruit', 'Banana') # Create the for statement for ( i in fruit){ print(i) }
Izlaz:
## [1] "Apple" ## [1] "Orange" ## [1] "Passion fruit" ## [1] "Banana"
For petlja u R primjeru 2: stvara nelinearnu funkciju korištenjem polinoma x između 1 i 4 i pohranjuje je na popis
# 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)
Izlaz:
## [1] 1 4 9 16
For petlja je vrlo vrijedna za zadatke strojnog učenja. Nakon što smo istrenirali model, moramo ga regulirati kako bismo izbjegli pretjerano uklapanje. Regulacija je vrlo zamoran zadatak jer moramo pronaći vrijednost koja minimizira funkciju gubitka. Kako bismo lakše otkrili te vrijednosti, možemo upotrijebiti for petlju za ponavljanje niza vrijednosti i definiranje najboljeg kandidata.
Za Prođite kroz popis
Prelazak preko popisa jednako je jednostavan i praktičan kao prelazak preko vektora. Pogledajmo primjer
# 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) }
Izlaz:
## [1] "Apple" "Orange" "Passion fruit" "Banana" ## [1] 10 12 15 ## [1] FALSE
Za petlju preko matrice
Matrica ima 2 dimenzije, retke i stupce. Da bismo iterirali po matrici, moramo definirati dvije for petlje, naime jednu za retke i drugu za stupac.
# 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]))
Izlaz:
## [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"