Bắt đầu ngayBắt đầu miễn phí

Chi tiêu y tế với clusterMap()

Tại một hội nghị y tế gần đây, có ý kiến cho rằng tổng chi tiêu cho y tế đang tăng trên toàn cầu.

Bạn có mặt tại đó và muốn ước tính sơ bộ để kiểm chứng nhận định này. Bạn đã tìm được một bộ dữ liệu cung cấp chi tiêu y tế bình quân đầu người và dân số từ năm 2000 trở đi. Bạn có hai danh sách: ls_popls_exp. Chúng lần lượt chứa quy mô dân số và chi tiêu y tế bình quân đầu người cho mỗi quốc gia.

Hàm total_exp() nhận hai đối số: pop (dân số) và exp_pc (chi tiêu y tế bình quân đầu người). Hàm này trả về tổng chi tiêu tính bằng tỷ USD. Bạn muốn áp dụng hàm này cho ls_popls_exp theo kiểu song song. Gói parallel đã được nạp.

Bài tập này là một phần của khóa học

Lập trình song song trong R

Xem khóa học

Hướng dẫn bài tập

  • Áp dụng total_exp() theo kiểu song song cho từng phần tử của ls_popls_exp.
  • Chỉ định danh sách có các phần tử sẽ được truyền vào đối số pop của total_exp().
  • Tương tự, chỉ định danh sách sẽ được truyền vào đối số exp_pc của total_exp().

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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))))))
Chỉnh sửa và Chạy Mã