O erro do bootstrap
Você trabalha como programador(a) R em um laboratório clínico. A estatística do laboratório está conduzindo uma análise em grande escala para estabelecer intervalos para os pesos médios de diferentes espécies de camundongos. Ela escreveu uma função, bootstrap(), que é aplicada a cada elemento de weight_list em paralelo usando um backend de futures. No entanto, o código lança o seguinte erro:
Error in checkForRemoteErrors(val) :
one node produced an error: missing values and NaN's not allowed if 'na.rm' is FALSE
Ela não consegue encontrar o elemento de weight_list que causa o erro. Ela também perde todos os resultados do cálculo demorado. Pediram para você corrigir o código. O pacote furrr já foi carregado para você e o multisession para os futures já foi planejado.
Este exercicio faz parte do curso
Programação Paralela em R
Instruções do exercicio
- Forneça, entre chaves, o código para uma função que consiga capturar o erro.
- No argumento error, forneça uma função que receba um argumento,
e, e retorne a string"Error here!". - Faça o mapeamento de
bootstrap()para todos os elementos deweight_listusando uma função dofurrr.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
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)