Gỡ lỗi tương quan
Bạn đang làm việc cho Bộ Y tế Hoa Kỳ. Nhóm của bạn đang khảo sát xem việc mang đa thai (sinh đôi, sinh ba, v.v.) có tương quan với việc tăng cân nhiều hơn khi mang thai hay không. Bạn đã tính hệ số tương quan nhưng các giá trị của bạn khác đáng kể so với ước tính của một nhà phân tích khác. Cô ấy chỉ ra rằng dữ liệu của bạn không ghi nhận các giá trị tăng cân lớn hơn 99 pound. Bạn quyết định chạy lại phép tính và lần này bạn muốn ghi log giá trị tối đa của mức tăng cân.
Trong không gian làm việc, bạn có một danh sách các data frame, ls_df. Mỗi phần tử của ls_df chứa dữ liệu sinh nở cho từng bang. Bạn đã viết một vòng lặp foreach để chạy phép tính song song.
foreach và doParallel đã được nạp sẵn cho bạn.
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
Hướng dẫn bài tập
- Tạo một cụm gồm bốn lõi.
- Chỉ định một tệp có tên
state_log.txtđể ghi các thông báo từ cụm. - Trong phần thân vòng lặp, ghi log giá trị lớn nhất của cột
weight_gain_poundstrong data framedf. - Đọc
state_log.txtđể kiểm tra các thông báo đã in.
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.
# Create a cluster of four cores
cl <- ___(___,
# Specify a file to log print statements
___ = "___")
registerDoParallel(cl)
res <- foreach(df = ls_df) %dopar% {
print(paste(unique(df$state), ":",
# Calculate maximum of weight_gain_pounds in df
___(___)))
cor(df$plurality, df$weight_gain_pounds)
}
stopCluster(cl)
# Read log file to check print messages
read.delim("___", sep = ";")