El error bootstrap
Trabajas como programador R para un laboratorio clínico. El estadístico del laboratorio está realizando un análisis a gran escala para establecer los rangos de los pesos medios de las distintas especies de ratones. Ha escrito una función, bootstrap(), que se aplica a cada elemento de weight_list en paralelo utilizando un backend de futuros. Sin embargo, el código arroja el siguiente error:
Error in checkForRemoteErrors(val) :
one node produced an error: missing values and NaN's not allowed if 'na.rm' is FALSE
No puede encontrar el elemento de weight_list que provoca el error. También pierde todos los resultados del cálculo, que lleva mucho tiempo. Se te ha pedido que arregles el código. Se ha cargado el paquete furrr para ti y se ha planificado el multisession para los futuros.
Este ejercicio forma parte del curso
Programación paralela en R
Instrucciones del ejercicio
- Proporciona el código entre llaves a una función que pueda detectar el error.
- Para el argumento error, proporciona una función que tome un argumento,
e, y devuelva la cadena"Error here!". - Asigna
bootstrap()a todos los elementos deweight_listutilizando una funciónfurrr.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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)