1. Nauka
  2. /
  3. Kursy
  4. /
  5. Podstawy programowania funkcyjnego z purrr

Connected

ćwiczenie

Symulowanie danych z 3+ wejściami za pomocą pmap()

Co zrobić, gdy trzeba iterować po trzech listach? Czy istnieje map3()? Do iterowania po więcej niż dwóch listach – czy to po trzech, czterech, czy nawet dwudziestu – należy użyć pmap(). Funkcja ta wymaga jednak nieco innego sposobu przekazywania argumentów listowych.

Aby skorzystać z pmap(), najpierw utwórz listę główną zawierającą wszystkie listy, po których chcesz iterować. Ta lista główna jest wejściem dla pmap(). Zamiast .x i .y używaj nazw list jako nazw argumentów.

Zasymulujesz dane jeszcze raz, tym razem używając pięciu list jako wejść zamiast dwóch. Dzięki pmap() zyskujesz pełną kontrolę nad symulowanym zbiorem danych – możesz użyć dwóch różnych średnich i dwóch różnych odchyleń standardowych, a także różnych lokalizacji.

Instrukcje

100 XP
  • Utwórz nazwaną listę zawierającą listy sites, means, means2, sigma i sigma2.
  • Zastosuj pmap() na liście list, aby utworzyć listę ramek danych z trzema kolumnami; pierwsza kolumna to sites.
    • Druga kolumna to a – wynik rnorm() z mean = means i sd = sigma.
    • Trzecia kolumna to b – wynik rnorm() z mean = means2 i sd = sigma2.