Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Skapa en for-slinga som itererar över listan files och ger varje element som indata till readr::read_csv() – det vill säga funktionen read_csv() från paketet readr.
  • 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(___)
Redigera och kör kod