LoslegenKostenlos starten

Der Bootstrap-Fehler

Du arbeitest als R-Programmierer:in in einem klinischen Labor. Die Statistikerin im Labor führt eine groß angelegte Analyse durch, um Bereiche für die durchschnittlichen Gewichte verschiedener Mausarten zu bestimmen. Sie hat eine Funktion bootstrap() geschrieben, die mit einem Futures-Backend parallel auf jedes Element von weight_list angewendet wird. Der Code wirft jedoch den folgenden Fehler:

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

Sie kann das Element von weight_list nicht finden, das den Fehler verursacht. Außerdem verliert sie alle Ergebnisse der zeitaufwendigen Berechnung. Du wurdest gebeten, den Code zu reparieren. Das Paket furrr wurde für dich geladen und multisession für die Futures wurde geplant.

Diese Übung ist Teil des Kurses

<Kurs>Paralleles Programmieren in R</Kurs>
Kurs ansehen

Übungsanweisungen

  • Gib den Code in den geschweiften Klammern an eine Funktion, die den Fehler abfangen kann.
  • Übergib dem error-Argument eine Funktion, die ein Argument e nimmt und den String "Error here!" zurückgibt.
  • Wende bootstrap() mit einer furrr-Funktion auf alle Elemente von weight_list an.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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)
Code bearbeiten und ausführen