Simulera data med flera indata med map2()
Funktionen map() fungerar utmärkt när du behöver iterera över en lista, men ofta behöver du iterera över två listor samtidigt. Det är här map2() kommer in. Medan map() tar listan som argumentet .x, tar map2() två listor som två separata argument: .x och .y.
För att prova map2() ska du skapa ett enkelt dataset med en lista med tal och en lista med strängar. Du sätter ihop de två listorna och skapar simulerade data.
Den här övningen är en del av kursen
Grunderna i funktionell programmering med purrr
Övningsinstruktioner
- Skapa en lista
meanssom innehåller värdena 1 till 3, vart och ett som ett separat element. - Skapa en lista
sitesmed "north", "west" och "east". - Använd
map2()över listornasitesochmeansför att skapa en dataram med två kolumner.- Den första kolumnen är
sites; den andra kolumnen genereras avrnorm()medmeanfrån listanmeans.
- Den första kolumnen är
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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