Zacznij terazZacznij za darmo

Symulowanie danych z wieloma wejściami przy użyciu map2()

Funkcja map() sprawdza się świetnie, gdy musisz iterować po jednej liście. Często jednak zachodzi potrzeba iterowania po dwóch listach jednocześnie – właśnie do tego służy map2(). O ile map() przyjmuje listę jako argument .x, o tyle map2() przyjmuje dwie listy jako dwa osobne argumenty: .x i .y.

Aby przetestować map2(), stworzysz prosty zbiór danych: jedną listę liczb i jedną listę ciągów znaków. Następnie połączysz te dwie listy i wygenerujesz symulowane dane.

To ćwiczenie jest częścią kursu

Podstawy programowania funkcyjnego z purrr

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz listę means zawierającą wartości od 1 do 3, każdą jako osobny element.
  • Utwórz listę sites z wartościami "north", "west" i "east".
  • Użyj map2() na listach sites i means, aby utworzyć ramkę danych z dwiema kolumnami.
    • Pierwsza kolumna to sites; druga kolumna jest generowana przez rnorm() z parametrem mean pobranym z listy means.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
Edytuj i uruchom kod