Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Skapa en lista means som innehåller värdena 1 till 3, vart och ett som ett separat element.
  • Skapa en lista sites med "north", "west" och "east".
  • Använd map2() över listorna sites och means för att skapa en dataram med två kolumner.
    • Den första kolumnen är sites; den andra kolumnen genereras av rnorm() med mean från listan means.

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
Redigera och kör kod