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

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

Xem khóa học

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ố e và trả về chuỗi "Error here!".
  • Ánh xạ bootstrap() lên tất cả phần tử của weight_list bằng một hàm của furrr.

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