Cilnei R ar saraksta un matricas piemēriem

Satura rādītājs:

Anonim

A for loop ir ļoti vērtīgs, ja mums ir nepieciešams atkārtot elementu sarakstu vai skaitļu diapazonu. Loop var izmantot, lai atkārtotu sarakstu, datu rāmi, vektoru, matricu vai jebkuru citu objektu. Bikšturi un kvadrātiekava ir obligāta.

Šajā apmācībā mēs iemācīsimies,

  • Cilpas sintaksei un piemēri
  • Pārlūkot pāri sarakstam
  • Par cilpu pār matricu

Cilpas sintaksei un piemēri

For (i in vector) {Exp}

Šeit,

R būs cilpa pār visiem vektora mainīgajiem un veiks aprēķinu, kas rakstīts exp.

Apskatīsim dažus piemērus.

1. piemērs : mēs atkārtojam visus vektora elementus un izdrukājam pašreizējo vērtību.

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

Izeja:

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

2. piemērs : izveido nelineāru funkciju, izmantojot x polinomu no 1 līdz 4, un mēs to glabājam sarakstā

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

Izeja:

## [1] 1 4 9 16 

For loop ir ļoti vērtīgs mašīnmācīšanās uzdevumos. Pēc tam, kad mēs esam apmācījuši modeli, mums tas ir jāregulē, lai izvairītos no pārmērīgas montāžas. Regulēšana ir ļoti garlaicīgs uzdevums, jo mums jāatrod vērtība, kas samazina zaudējumu funkciju. Lai palīdzētu mums atklāt šīs vērtības, mēs varam izmantot for for ciklu, lai atkārtotu vērtību diapazonu un noteiktu labāko kandidātu.

Pārlūkot pāri sarakstam

Pārlūkot sarakstu, ir tikpat viegli un ērti kā pārvietoties pa vektoru. Apskatīsim piemēru

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

Izeja:

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

Par cilpu pār matricu

Matricai ir 2 dimensijas, rindas un kolonnas. Lai atkārtotu matricu, mums ir jādefinē divi cilpai, proti, viens rindām un otrs kolonnai.

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

Izeja:

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