Aan de slagGa gratis aan de slag

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

Cursus bekijken

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 lijsten sites en means om een data frame met twee kolommen te maken.
    • De eerste kolom is sites; de tweede kolom wordt gegenereerd door rnorm() met mean uit de means-lijst.

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
Code bewerken en uitvoeren