Simuler des données avec plusieurs entrées à l’aide de map2()
La fonction map() est idéale si vous devez itérer sur une seule liste. Cependant, il est fréquent d’avoir à itérer sur deux listes en parallèle. C’est là que map2() intervient. Alors que map() prend la liste en argument .x, map2() prend deux listes comme arguments : .x et .y.
Pour tester map2(), vous allez créer un petit jeu de données, avec une liste de nombres et une liste de chaînes de caractères. Vous combinerez ces deux listes pour générer des données simulées.
Cet exercice fait partie du cours
<cours>Fondations de la programmation fonctionnelle avec purrr</cours>Instructions de l’exercice
- Créez une liste
meanscontenant les valeurs de 1 à 3, chacune comme élément distinct. - Créez une liste
sitesavec "north", "west" et "east". - Utilisez
map2()sur les listessitesetmeanspour créer un data frame avec deux colonnes.- La première colonne est
sites; la seconde est générée parrnorm()avecmeanprovenant de la listemeans.
- La première colonne est
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# List of 1, 2 and 3
means <- list(___)
# Create sites list
sites <- list(___)
# Map over two arguments: sites and means
list_of_files_map2 <- map2(___, ___, ~___(sites = ___,
a = rnorm(mean = ___, n = 200, sd = (5/2))))
list_of_files_map2