ÎncepețiÎncepe gratuit

Eroarea bootstrap

Lucrezi ca programator R într-un laborator clinic. Statisticianul laboratorului desfășoară o analiză de amploare pentru a stabili intervalele de greutate medie ale diferitelor specii de șoareci. Aceasta a scris o funcție, bootstrap(), aplicată în paralel fiecărui element din weight_list folosind un backend futures. Totuși, codul generează următoarea eroare:

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

Ea nu reușește să identifice elementul din weight_list care provoacă eroarea și pierde toate rezultatele calculului, care durează mult timp. Ți s-a cerut să rezolvi codul. Pachetul furrr a fost deja încărcat, iar sesiunea multisession pentru futures a fost configurată.

Acest exercițiu face parte din cursul

Programare paralelă în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Furnizează codul din acolade unei funcții care poate intercepta eroarea.
  • Argumentului error, furnizează o funcție care primește un argument, e, și returnează șirul de caractere "Error here!".
  • Aplică bootstrap() tuturor elementelor din weight_list folosind o funcție din pachetul furrr.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul