Data simuleren met meerdere inputs met map2()
De functie map() is ideaal als je over één lijst moet itereren, maar vaak wil je over twee lijsten tegelijk itereren. Daar komt map2() van pas. Waar map() de lijst als het argument .x neemt, neemt map2() twee lijsten als twee argumenten: .x en .y.
Om map2() uit te proberen, ga je een eenvoudige gegevensset maken, met één lijst met getallen en één lijst met strings. Je combineert deze twee lijsten en maakt zo gesimuleerde data.
Deze oefening maakt deel uit van de cursus
Basis van functioneel programmeren met purrr
Oefeninstructies
- Maak een
means-lijst met de waarden 1 tot en met 3, elk als een apart element. - Maak een
sites-lijst met "north", "west" en "east". - Gebruik
map2()over de lijstensitesenmeansom een data frame met twee kolommen te maken.- De eerste kolom is
sites; de tweede kolom wordt gegenereerd doorrnorm()metmeanuit demeans-lijst.
- De eerste kolom is
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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