시작하기무료로 시작하기

clusterMap()으로 살펴보는 의료 지출

최근 의료 컨퍼런스에서 전 세계적으로 총 의료 지출이 증가하고 있다는 주장이 나왔습니다.

당신은 그 자리에 있었고, 이 주장을 검증하기 위한 대략적인 추정치를 계산해 보고자 합니다. 2000년 이후 연도별 1인당 의료 지출과 인구를 제공하는 데이터셋을 확보했습니다. 국가별로 인구 규모와 1인당 의료 지출을 담은 두 개의 리스트 ls_popls_exp가 있습니다.

두 개의 인자 pop(인구)과 exp_pc(1인당 의료 지출)를 받는 함수 total_exp()가 제공됩니다. 이 함수는 총 지출액을 미화 단위, 정확히는 십억 달러 단위로 반환합니다. 이 함수를 ls_popls_exp에 병렬로 적용하려고 합니다. parallel 패키지는 이미 로드되어 있습니다.

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

R의 병렬 프로그래밍

강의 보기

연습 안내

  • total_exp()ls_popls_exp의 각 원소에 병렬로 적용하세요.
  • total_exp()pop 인자로 전달할 리스트를 지정하세요.
  • 같은 방식으로 total_exp()exp_pc 인자로 전달할 리스트를 지정하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

total_exp <- function (pop, exp_pc) {
 sum(pop * exp_pc)/1e9
}

cl <- makeCluster(4)
# Apply total_exp using cl to multiple arguments
ls_total <- ___(___, ___,
                       # Specify first argument
                       pop = ___,
                       # Specify second argument
                       exp_pc = ___)

stopCluster(cl)

print(paste("Average yearly increase in USD billions:", round(mean(diff(unlist(ls_total))))))
코드 편집 및 실행