For Loop in R con esempi per List e Matrix

Sommario:

Anonim

Un ciclo for è molto utile quando è necessario iterare su un elenco di elementi o su un intervallo di numeri. Loop può essere utilizzato per iterare su un elenco, data frame, vettore, matrice o qualsiasi altro oggetto. Le parentesi graffe e le parentesi quadre sono obbligatorie.

In questo tutorial impareremo,

  • Per la sintassi e gli esempi dei loop
  • For Loop su un elenco
  • For Loop su una matrice

Per la sintassi e gli esempi dei loop

For (i in vector) {Exp}

Qui,

R eseguirà un ciclo su tutte le variabili nel vettore ed eseguirà il calcolo scritto all'interno dell'esp.

Vediamo alcuni esempi.

Esempio 1 : iteriamo su tutti gli elementi di un vettore e stampiamo il valore corrente.

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

Produzione:

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

Esempio 2 : crea una funzione non lineare utilizzando il polinomio di x compreso tra 1 e 4 e la memorizziamo in una lista

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

Produzione:

## [1] 1 4 9 16 

Il ciclo for è molto utile per le attività di apprendimento automatico. Dopo aver addestrato un modello, dobbiamo regolarizzare il modello per evitare un adattamento eccessivo. La regolarizzazione è un compito molto noioso perché dobbiamo trovare il valore che minimizza la funzione di perdita. Per aiutarci a rilevare questi valori, possiamo utilizzare un ciclo for per iterare su un intervallo di valori e definire il miglior candidato.

For Loop su un elenco

Il ciclo su un elenco è altrettanto facile e conveniente quanto il ciclo su un vettore. Vediamo un esempio

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

Produzione:

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

For Loop su una matrice

Una matrice ha 2 dimensioni, righe e colonne. Per iterare su una matrice, dobbiamo definire due cicli for, vale a dire uno per le righe e un altro per la colonna.

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

Produzione:

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