Einstieg in Iteration
Stell dir vor, du musst Hunderte von Dateien mit ähnlicher Struktur einlesen und eine Aktion darauf ausführen. Du willst dafür nicht Hunderte sich wiederholende Codezeilen schreiben – weder zum Einlesen noch für die Aktion. Stattdessen möchtest du über sie iterieren. Iteration bedeutet, denselben Prozess auf mehrere Eingaben anzuwenden. Iteration ist wichtig, um deinen Code effizient zu machen, und besonders mächtig im Umgang mit Listen.
Für diese Übung wurden die Namen von 16 CSV-Dateien in eine Liste namens files geladen. In deiner eigenen Arbeit könntest du die Funktion list.files() verwenden, um diese Liste zu erstellen. Die Bibliothek readr ist ebenfalls bereits geladen.
Dieser Kurs streift viele Konzepte, die du vielleicht vergessen hast. Wenn du eine schnelle Auffrischung brauchst, lade dir das tidyverse Cheat Sheet herunter und halte es griffbereit!
Diese Übung ist Teil des Kurses
<Kurs>Grundlagen der funktionalen Programmierung mit purrr</Kurs>Übungsanweisungen
- Erstelle eine for-Schleife, die über die Liste
filesiteriert und jedes Element als Eingabe fürreadr::read_csv()verwendet, also die Funktionread_csv()aus dem Paketreadr. - Nutze dann diese Eingabe so, dass das Ergebnis eine Liste ist, in der jede CSV-Datei als eigenes Element in der neu erstellten Liste
all_fileseingelesen wurde. - Gib die Größe der Liste
all_filesaus.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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(___)