开始使用免费开始使用

自助法的错误

您在一家临床实验室担任 R 程序员。实验室的统计学家正在进行一项大规模分析,以确定不同小鼠物种平均体重的取值范围。她编写了一个函数 bootstrap(),并使用 futures 后端并行地将其应用到 weight_list 的每个元素。然而,代码抛出了如下错误:

Error in checkForRemoteErrors(val) : 
  one node produced an error: missing values and NaN's not allowed if 'na.rm' is FALSE

她找不到是 weight_list 的哪个元素导致了错误。而且,她也丢失了这项耗时计算的所有结果。现在请您修复这段代码。已为您加载 furrr 包,并为 futures 规划了 multisession

本练习是课程的一部分

R 并行编程

查看课程

练习说明

  • 在花括号中提供代码,包装成一个可以捕获错误的函数。
  • 在 error 参数中,提供一个接收单个参数 e 并返回字符串 "Error here!" 的函数。
  • 使用 furrr 函数将 bootstrap() 映射到 weight_list 的所有元素。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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)
编辑并运行代码