여러 입력 처리하기
여러분은 아웃소싱 회사의 급여 분석가로 일하고 있어요. 매달 급여 대상 근로자들의 데이터를 받습니다. 하루 기준 총 지급액을 계산할 수 있는 R 병렬 코드를 작성해 달라는 요청을 받았어요.
작업 공간에는 ls_hours와 ls_rates라는 두 개의 리스트가 있습니다. 각 리스트는 한 달의 각 날짜를 나타내는 30개의 원소를 갖고 있어요. ls_hours의 각 원소에는 해당 날짜에 각 근로자가 일한 시간이, ls_rates의 각 원소에는 그에 대응하는 시급이 들어 있습니다. 또한 hours와 rates 두 인자를 받는 함수 calc_payout()도 있어요.
calc_payout <- function (hours, rates) paste0("$", sum(hours * rates))
이 계산을 병렬로 수행하려면 furrr 패키지의 적절한 함수를 사용해야 합니다. furrr 패키지는 이미 로드되어 있어요.
이 연습은 강의의 일부입니다
R의 병렬 프로그래밍
연습 안내
- 여러 입력을 받을 수 있는
future_map()변형을 사용해 반복하세요. ls_hours와ls_rates를 함께 전달하세요.future_map()변형에 함수calc_payout()을 지정하세요.- 다시 순차 실행 계획으로 되돌리세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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
___(___)