시작하기무료로 시작하기

여러 입력 처리하기

여러분은 아웃소싱 회사의 급여 분석가로 일하고 있어요. 매달 급여 대상 근로자들의 데이터를 받습니다. 하루 기준 총 지급액을 계산할 수 있는 R 병렬 코드를 작성해 달라는 요청을 받았어요.

작업 공간에는 ls_hoursls_rates라는 두 개의 리스트가 있습니다. 각 리스트는 한 달의 각 날짜를 나타내는 30개의 원소를 갖고 있어요. ls_hours의 각 원소에는 해당 날짜에 각 근로자가 일한 시간이, ls_rates의 각 원소에는 그에 대응하는 시급이 들어 있습니다. 또한 hoursrates 두 인자를 받는 함수 calc_payout()도 있어요.

calc_payout <- function (hours, rates) paste0("$", sum(hours * rates))

이 계산을 병렬로 수행하려면 furrr 패키지의 적절한 함수를 사용해야 합니다. furrr 패키지는 이미 로드되어 있어요.

이 연습은 강의의 일부입니다

R의 병렬 프로그래밍

강의 보기

연습 안내

  • 여러 입력을 받을 수 있는 future_map() 변형을 사용해 반복하세요.
  • ls_hoursls_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
___(___)
코드 편집 및 실행