Birden çok girdiyi işleme
Bir dış kaynak kullanımı şirketinde Bordro Analisti olarak çalışıyorsun. Her ay, bordrondaki çalışanlara ait verileri alıyorsun. Senden, günlük toplam ödemeyi hesaplayabilecek paralel R kodu yazman istendi.
Çalışma alanında ls_hours ve ls_rates adında iki listen var. Her birinde ayın her günü için birer olmak üzere 30 eleman bulunuyor. ls_hours listesinin her elemanı belirli bir günde her çalışanın çalıştığı saatleri içerir; ls_rates listesinin her elemanı ise karşılık gelen saatlik ücretleri içerir. Ayrıca iki argüman alan, hours ve rates, bir calc_payout() fonksiyonun da var.
calc_payout <- function (hours, rates) paste0("$", sum(hours * rates))
Bu hesabı paralel olarak yapmak için furrr paketindeki uygun fonksiyonu kullanman gerekiyor. furrr paketi senin için yüklendi.
Bu egzersiz, kursun bir parçasıdır
R'da Paralel Programlama
Egzersiz talimatları
- Birden fazla girdi alan
future_map()varyantını kullan. ls_hoursvels_rates'i birleştir.calc_payout()fonksiyonunufuture_map()varyantına belirt.- Sıralı (sequential) plana geri dön.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
plan(multisession, workers = 5)
# Use the correct future_map() variant
___(
# Combine ls_hours and ls_rates
___(___, ___),
# Specify the function to apply
___)
# Revert to sequential plan
___(___)