LoslegenKostenlos loslegen

Korrelationen debuggen

Du arbeitest für das US-Gesundheitsministerium. Dein Team untersucht, ob Mehrlingsschwangerschaften (Zwillinge, Drillinge usw.) mit einer stärkeren Gewichtszunahme während der Schwangerschaft einhergehen. Du hast die Korrelation berechnet, aber deine Werte weichen deutlich von den Schätzungen einer anderen Analystin ab. Sie hat darauf hingewiesen, dass deine Daten keine Werte für Gewichtszunahmen über 99 Pfund enthalten. Du hast beschlossen, die Berechnung erneut durchzuführen, und möchtest diesmal den Maximalwert der Gewichtszunahme protokollieren.

In deinem Arbeitsbereich hast du eine Liste von Data Frames, ls_df. Jedes Element von ls_df enthält Geburtsdaten für jeden Bundesstaat. Du hast eine foreach-Schleife geschrieben, um die Berechnung parallel auszuführen.

foreach und doParallel wurden für dich geladen.

Diese Übung ist Teil des Kurses

Paralleles Programmieren in R

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein Cluster mit vier Kernen.
  • Gib eine Datei namens state_log.txt an, in der Meldungen des Clusters protokolliert werden.
  • Protokolliere im Schleifenrumpf den Maximalwert der Spalte weight_gain_pounds im Data Frame df.
  • Lies state_log.txt, um die Ausgaben zu prüfen.

Interaktive Übung

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

# Create a cluster of four cores
cl <- ___(___,
# Specify a file to log print statements                    
          ___ = "___")
registerDoParallel(cl)
res <- foreach(df = ls_df) %dopar% {
   print(paste(unique(df$state), ":",
# Calculate maximum of weight_gain_pounds in df
               ___(___)))
                 
  cor(df$plurality, df$weight_gain_pounds)
}
stopCluster(cl)
# Read log file to check print messages
read.delim("___", sep = ";")
Code bearbeiten und ausführen