Iteration mit purrr
Du hast eine tolle for-Schleife geschrieben, aber sie braucht viel Code, nur um eine Reihe von Dateien in eine Liste einzulesen. Genau hier kommt purrr ins Spiel. Mit purrr::map() können wir dasselbe wie mit einer for-Schleife in einer Zeile Code erledigen. Die Funktion map() iteriert über eine Liste und nutzt eine weitere Funktion, die mit dem Argument .f angegeben werden kann.
map() nimmt zwei Argumente entgegen:
- Das erste ist die Liste, über die iteriert wird
- Das zweite ist eine Funktion, die auf jedes Element der Liste angewendet wird
Die Bibliothek readr ist bereits geladen.
Diese Übung ist Teil des Kurses
<Kurs>Grundlagen der funktionalen Programmierung mit purrr</Kurs>Übungsanweisungen
- Lade die Bibliothek
purrr(achte auf die 3 r). - Repliziere die for-Schleife aus der letzten Übung mit
map()statt dessen. Verwende dieselbe Listefilesund dieselbe Funktionreadr::read_csv(). - Prüfe die Länge von
all_files_purrr.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Load purrr library
library(___)
# Use map to iterate
all_files_purrr <- map(___, ___)
# Output size of list object
length(___)