BaşlayınÜcretsiz Başlayın

pmap() ile 3+ girdili veri simülasyonu

Peki ya üç liste üzerinde yineleme yapman gerekirse? Bir map3() var mı? İki listeden fazlası — üç, dört, hatta 20 — üzerinde yineleme yapmak için pmap() kullanman gerekir. Ancak pmap() liste argümanlarını biraz farklı şekilde sağlamanı ister.

pmap() kullanmak için önce üzerinde yineleme yapmak istediğimiz tüm listelerden oluşan bir ana liste oluşturman gerekir. Bu ana liste, pmap() için girdidir. .x veya .y yerine, argüman adları olarak liste adlarını kullan.

Şimdi veriyi bir kez daha simüle edeceksin; bu kez iki yerine beş listeyi girdi olarak kullanacaksın. pmap() kullanmak sana simüle edilen veri kümesi üzerinde tam kontrol sağlar ve farklı konumların yanı sıra iki farklı ortalama ve iki farklı standart sapmayı kullanmana olanak tanır.

Bu egzersiz

purrr ile Fonksiyonel Programlamanın Temelleri

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • sites, means, means2, sigma ve sigma2 listelerini içeren, adlandırılmış bir liste oluştur.
  • Listelerden oluşan bu liste üzerinde pmap() kullanarak üç sütunlu veri çerçevelerinden oluşan bir liste oluştur; ilk sütun sites olsun.
    • İkinci sütun a olsun; mean = means ve sd = sigma ile rnorm() kullan.
    • Üçüncü sütun b olsun; mean = means2 ve sd = sigma2 ile rnorm() kullan.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Create a master list, a list of lists
pmapinputs <- list(sites = ___,  means = ___, sigma = ___, 
                   means2 = ___, sigma2 = ___)

# Map over the master list
list_of_files_pmap <- pmap(___, 
  function(___, ___, ___, ___, ___) 
    data.frame(sites = ___,
        a = rnorm(mean = ___, n = 200, sd = ___),
        b = rnorm(mean = ___, n = 200, sd = ___)))
                           
list_of_files_pmap
Kodu Düzenle ve Çalıştır