Introduktion till iteration
Tänk dig att du behöver läsa in hundratals filer med liknande struktur och utföra en åtgärd på dem. Du vill inte skriva hundratals upprepade kodrader för att läsa in alla filerna eller utföra åtgärden. I stället vill du iterera över dem. Iteration innebär att samma process tillämpas på flera indata. Att kunna iterera är viktigt för att skriva effektiv kod och är särskilt kraftfullt när du arbetar med listor.
I den här övningen har namnen på 16 CSV-filer lästs in i en lista som heter files. I ditt eget arbete kan du använda funktionen list.files() för att skapa den här listan. Biblioteket readr är också redan inläst.
Kursen berör många koncept som du kanske har glömt, så om du behöver en snabb repetition kan du ladda ned tidyverse Cheat Sheet och ha det till hands!
Den här övningen är en del av kursen
Grunderna i funktionell programmering med purrr
Övningsinstruktioner
- Skapa en for-slinga som itererar över listan
filesoch ger varje element som indata tillreadr::read_csv()– det vill säga funktionenread_csv()från paketetreadr. - Använd sedan dessa indata så att resultatet blir en lista där varje CSV-fil har lästs in som ett separat element i den nyligen skapade listan
all_files. - Skriv ut storleken på listan
all_files.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(___)