LoslegenKostenlos loslegen

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

Paralleles Programmieren in R

Kurs anzeigen

Anleitung zur Übung

  • 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 Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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