Simuler des données avec plusieurs entrées à l'aide de map2()
La fonction map() est très utile si vous devez itérer sur une seule liste, mais il est fréquent d'avoir à itérer sur deux listes en même temps. C'est là que map2() entre en jeu. Alors que map() prend la liste comme argument .x, map2() prend deux listes comme deux arguments : .x et .y.
Pour essayer 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.
Cette activité fait partie du cours
Fondements de la programmation fonctionnelle avec purrr
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 tableau de données avec deux colonnes.- La première colonne est
sites; la deuxième 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