Simulace dat s více vstupy pomocí map2()
Funkce map() je skvělá, pokud potřebuješ iterovat přes jeden list. Často ale budeš potřebovat iterovat přes dva listy zároveň – a právě k tomu slouží map2(). Zatímco map() přijímá jeden list jako argument .x, funkce map2() přijímá dva listy jako dva argumenty: .x a .y.
Abys map2() vyzkoušel/a v praxi, vytvoříš jednoduchý dataset s jedním listem čísel a jedním listem řetězců. Tyto dva listy pak spojíš a vytvoříš simulovaná data.
Toto cvičení je součástí kurzu
Foundations of Functional Programming with purrr
Pokyny k cvičení
- Vytvoř list
meansobsahující hodnoty 1 až 3, každou jako samostatný prvek. - Vytvoř list
sitess hodnotami "north", "west" a "east". - Pomocí
map2()projdi listysitesameansa vytvoř datový rámec se dvěma sloupci.- První sloupec tvoří
sites, druhý sloupec je generován funkcírnorm()s parametremmeanz listumeans.
- První sloupec tvoří
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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