Iterează printr-o listă
Iterarea printr-o listă este la fel de simplă și convenabilă ca iterarea printr-un vector. Există din nou două abordări diferite:
primes_list <- list(2, 3, 5, 7, 11, 13)
# loop version 1
for (p in primes_list) {
print(p)
}
# loop version 2
for (i in 1:length(primes_list)) {
print(primes_list[[i]])
}
Observă că ai nevoie de paranteze pătrate duble - [[ ]] - pentru a selecta elementele listei în varianta 2 a buclei.
Să presupunem că ai o listă cu tot felul de informații despre New York City: numărul de locuitori, numele cartierelor și dacă este sau nu capitala Statelor Unite. Am definit deja o listă nyc care conține aceste informații (sursă: Wikipedia).
Acest exercițiu face parte din cursul
R intermediar
Instrucțiuni pentru exercițiu
Ca în exercițiul anterior, iterează prin lista nyc în două moduri diferite pentru a-i afișa elementele:
- Iterează direct prin lista
nyc(varianta 1 a buclei). - Definește un index de iterare și realizează subsetting folosind paranteze pătrate duble (varianta 2 a buclei).
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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