Aan de slagGa gratis aan de slag

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

Cursus bekijken

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 lijst files en dezelfde functie readr::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(___)
Code bewerken en uitvoeren