Introductie tot iteratie
Stel je voor dat je honderden bestanden met een vergelijkbare structuur moet inlezen en er een bewerking op moet uitvoeren. Je wilt geen honderden herhalende coderegels schrijven om alle bestanden in te lezen of de bewerking uit te voeren. In plaats daarvan wil je erover itereren. Iteratie is het herhaald toepassen van hetzelfde proces op meerdere invoeren. Kunnen itereren is belangrijk om je code efficiënt te maken en is krachtig bij het werken met lijsten.
Voor deze oefening zijn de namen van 16 CSV-bestanden geladen in een lijst met de naam files. In je eigen werk kun je de functie list.files() gebruiken om deze lijst te maken. De bibliotheek readr is ook al geladen.
In deze cursus komen veel concepten voorbij die je misschien bent vergeten. Heb je snel een opfrisser nodig? Download dan de tidyverse Cheat Sheet en houd die bij de hand!
Deze oefening maakt deel uit van de cursus
Basis van functioneel programmeren met purrr
Oefeninstructies
- Maak een for-lus die over de lijst
filesitereert en elk element doorgeeft als invoer voorreadr::read_csv(), oftewel de functieread_csv()uit het pakketreadr. - Gebruik die invoer vervolgens zodat het resultaat een lijst is waarin elk CSV-bestand is ingelezen als een apart element van de nieuw aangemaakte lijst
all_files. - Geef de grootte van de lijst
all_filesweer.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Initialize list
all_files <- list()
# For loop to read files into a list
for(i in seq_along(files)){
___[[___]] <- read_csv(file = ___[[___]])
}
# Output size of list object
length(___)