Itereren met purrr
Je hebt een mooie for-lus geschreven, maar die gebruikt veel code om iets simpels te doen: een reeks bestanden in een lijst stoppen. Hier komt purrr van pas. Met purrr::map() kun je hetzelfde als met een for-lus in één regel code doen. De functie map() itereert over een lijst en gebruikt een andere functie die je kunt opgeven met het .f-argument.
map() neemt twee argumenten:
- Het eerste is de lijst waarover wordt geïtereerd
- Het tweede is een functie die op elk element van de lijst wordt toegepast
De readr-bibliotheek is al geladen.
Deze oefening maakt deel uit van de cursus
Basis van functioneel programmeren met purrr
Oefeninstructies
- Laad de
purrr-bibliotheek (let op de 3 r’s). - Maak de for-lus uit de vorige oefening na met
map()in plaats daarvan. Gebruik dezelfde lijstfilesen dezelfde functiereadr::read_csv(). - Controleer de lengte van
all_files_purrr.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Load purrr library
library(___)
# Use map to iterate
all_files_purrr <- map(___, ___)
# Output size of list object
length(___)