Iterare su una lista
Iterare su una lista è semplice e pratico proprio come iterare su un vettore. Anche qui ci sono due approcci diversi:
primes_list <- list(2, 3, 5, 7, 11, 13)
# versione del ciclo 1
for (p in primes_list) {
print(p)
}
# versione del ciclo 2
for (i in 1:length(primes_list)) {
print(primes_list[[i]])
}
Nota che servono le doppie parentesi quadre - [[ ]] - per selezionare gli elementi della lista nella versione 2 del ciclo.
Supponi di avere una lista con vari tipi di informazioni su New York City: la dimensione della popolazione, i nomi dei borough e se è la capitale degli Stati Uniti. Abbiamo già definito una lista nyc che contiene queste informazioni (fonte: Wikipedia).
Questo esercizio fa parte del corso
R intermedio
Istruzioni dell'esercizio
Come nel precedente esercizio, itera sulla lista nyc in due modi diversi per stamparne gli elementi:
- Itera direttamente sulla lista
nyc(versione del ciclo 1). - Definisci un indice di iterazione ed effettua il subsetting usando le doppie parentesi (versione del ciclo 2).
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# The nyc list is already specified
nyc <- list(pop = 8405837,
boroughs = c("Manhattan", "Bronx", "Brooklyn", "Queens", "Staten Island"),
capital = FALSE)
# Loop version 1
# Loop version 2