Lussen over een lijst
Over een lijst itereren is net zo eenvoudig en handig als over een vector. Ook hier zijn er twee verschillende aanpakken:
primes_list <- list(2, 3, 5, 7, 11, 13)
# versie 1 van de lus
for (p in primes_list) {
print(p)
}
# versie 2 van de lus
for (i in 1:length(primes_list)) {
print(primes_list[[i]])
}
Let op: je hebt dubbele vierkante haken — [[ ]] — nodig om de lijst-elementen te selecteren in versie 2 van de lus.
Stel, je hebt een lijst met allerlei informatie over New York City: het inwonertal, de namen van de stadsdelen en of het de hoofdstad van de Verenigde Staten is. We hebben al een lijst nyc gedefinieerd met deze informatie (bron: Wikipedia).
Deze oefening maakt deel uit van de cursus
R voor gevorderden
Oefeninstructies
Net als in de vorige oefening, lus op twee verschillende manieren over de lijst nyc om de elementen te printen:
- Loop direct over de lijst
nyc(versie 1 van de lus). - Definieer een lusindex en maak subsets met dubbele haken (versie 2 van de lus).
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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