1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Viết mã R hiệu quả

Connected

Bài tập

Chuyển sang parApply

Để chạy mã song song bằng gói parallel, quy trình cơ bản có ba bước.

  1. Tạo một cluster bằng makeCluster().
  2. Thực hiện công việc.
  3. Dừng cluster bằng stopCluster().

Cách đơn giản nhất để tạo cluster là truyền một số vào makeCluster(). Cách này tạo một cluster kiểu mặc định, chạy mã trên từng đó lõi.

Đối tượng dd là một data frame với 10 cột và 100 hàng. Đoạn mã sau dùng apply() để tính trung vị theo cột:

apply(dd, 2, median)

Để chạy phần này theo kiểu song song, bạn thay apply() bằng parApply(). Các đối số của hàm này giống nhau, ngoại trừ việc nó nhận thêm đối số cluster đứng trước các đối số thường dùng của apply().

Hướng dẫn

100 XP
  • Dùng hàm detectCores() để in số lõi khả dụng ra console.
  • Tạo một cluster bằng makeCluster(); đặt số lõi sử dụng bằng 2. Lưu kết quả vào cl.
  • Viết lại hàm apply() ở trên thành parApply(). Nhớ rằng đối số đầu tiên giờ là đối tượng cluster, cl.
  • Dừng cluster bằng stopCluster().