Traiter plusieurs entrées
Vous êtes Analyste Paie dans une société d’externalisation. Chaque mois, vous recevez des données sur les employés de votre paie. On vous a demandé d’écrire du code R parallèle pour calculer le montant total versé par jour.
Vous disposez de deux listes dans votre espace de travail, ls_hours et ls_rates. Chacune contient 30 éléments, un par jour du mois. Chaque élément de ls_hours correspond aux heures travaillées par chaque employé un jour donné, et chaque élément de ls_rates contient les taux horaires correspondants. Vous avez aussi une fonction, calc_payout(), qui prend deux arguments, hours et rates.
calc_payout <- function (hours, rates) paste0("$", sum(hours * rates))
Vous devez utiliser la fonction appropriée du package furrr pour effectuer ce calcul en parallèle. Le package furrr a été chargé pour vous.
Cet exercice fait partie du cours
Programmation parallèle en R
Instructions
- Utilisez la variante de
future_map()qui accepte plusieurs entrées à parcourir. - Combinez
ls_hoursetls_rates. - Indiquez la fonction
calc_payout()à la variante defuture_map(). - Revenez à un plan séquentiel.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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
___(___)