Itération avec purrr
Vous avez écrit une très bonne boucle for, mais elle utilise beaucoup de code pour une tâche aussi simple que charger une série de fichiers dans une liste. C’est là que purrr intervient. On peut faire la même chose qu’une boucle for en une seule ligne de code avec purrr::map(). La fonction map() itère sur une liste et applique une autre fonction, que l’on peut préciser avec l’argument .f.
map() prend deux arguments :
- Le premier est la liste sur laquelle on itère
- Le second est une fonction qui sera appliquée à chaque élément de la liste
La bibliothèque readr est déjà chargée.
Cet exercice fait partie du cours
<cours>Fondations de la programmation fonctionnelle avec purrr</cours>Instructions de l’exercice
- Chargez la bibliothèque
purrr(notez les 3 « r »). - Reproduisez la boucle for du dernier exercice en utilisant
map()à la place. Utilisez la même listefileset la même fonctionreadr::read_csv(). - Vérifiez la longueur de
all_files_purrr.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Load purrr library
library(___)
# Use map to iterate
all_files_purrr <- map(___, ___)
# Output size of list object
length(___)