Lỗi bootstrap
Bạn là lập trình viên R tại một phòng thí nghiệm lâm sàng. Nhà thống kê ở đây đang thực hiện một phân tích quy mô lớn để xác định khoảng giá trị cho cân nặng trung bình của các loài chuột khác nhau. Cô ấy đã viết một hàm bootstrap() và áp dụng nó cho từng phần tử của weight_list theo kiểu song song bằng backend futures. Tuy nhiên, mã gặp lỗi sau:
Error in checkForRemoteErrors(val) :
one node produced an error: missing values and NaN's not allowed if 'na.rm' is FALSE
Cô ấy không tìm ra phần tử nào của weight_list gây ra lỗi. Cô ấy cũng mất toàn bộ kết quả của phép tính tốn thời gian. Bạn được yêu cầu sửa mã. Gói furrr đã được nạp cho bạn và kế hoạch futures dùng multisession đã được thiết lậ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
Hướng dẫn bài tập
- Viết mã trong dấu ngoặc nhọn cho một hàm có thể bắt lỗi.
- Với đối số error, truyền vào một hàm nhận một đối số
evà trả về chuỗi"Error here!". - Ánh xạ
bootstrap()lên tất cả phần tử củaweight_listbằng một hàm củafurrr.
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.
bootstrap <- function (x) {
# Supply code to a function for catching errors
___({est <- rep(0, 1e3)
for (i in 1:1e3) {
b <- sample(x, replace = T)
est[i] <- mean(b)
}
return(quantile(est, c(0.25, 0.75)))
# Supply a function that returns a string
}, error = ___
)
}
# Map bootstrap() to every element of weight_list
___(___, ___)
plan(sequential)