Ciclo For in R con esempi di lista e matrice

Un ciclo for รจ molto utile quando dobbiamo scorrere un elenco di elementi o un intervallo di numeri. Il loop puรฒ essere utilizzato per scorrere un elenco, un frame di dati, un vettore, una matrice o qualsiasi altro oggetto. Le parentesi graffe e la parentesi quadra sono obbligatorie.

In questo tutorial impareremo,

Per la sintassi del loop ed esempi

For (i in vector) {
    Exp	
}

Qui,

R eseguirร  il loop su tutte le variabili in vector ed eseguirร  il calcolo scritto all'interno di exp.

Per il ciclo in R
Per il ciclo in R

Vediamo alcuni esempi.

Ciclo For in R Esempio 1: Iteriamo su tutti gli elementi di un vettore e stampiamo il valore corrente.

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

Produzione:

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

Ciclo For in R 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 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)

Produzione:

## [1]   1  4 9 16

Il ciclo for รจ molto utile per le attivitร  di machine learning. Dopo aver addestrato un modello, รจ necessario regolarizzarlo per evitare un adattamento eccessivo. La regolarizzazione รจ un compito molto noioso perchรฉ dobbiamo trovare il valore che minimizzi la funzione di perdita. Per aiutarci a rilevare tali valori, possiamo utilizzare un ciclo for per scorrere un intervallo di valori e definire il miglior candidato.

Per Eseguire il loop su un elenco

Il ciclo su un elenco รจ altrettanto semplice e conveniente quanto il ciclo su un vettore. Vediamo un esempio

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

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, ovvero uno per le righe e un altro per la colonna.

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

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" 

Riassumi questo post con: