Kom igångKom igång gratis

Felsökning av korrelationer

Du arbetar för det amerikanska folkhälsoinstitutet. Ditt team undersöker om flerbördsgraviditeter (tvillingar, trillingar osv.) korrelerar med större viktuppgång under graviditeten. Du har beräknat korrelationen, men dina värden skiljer sig avsevärt från en annan analysts uppskattningar. Hon har påpekat att dina data inte registrerar viktuppgångar över 99 pund. Du har bestämt dig för att köra beräkningen igen, och den här gången vill du logga maxvärdet för viktuppgång.

I din miljö finns en lista med dataramar, ls_df. Varje element i ls_df innehåller förlossningsdata för ett delstat. Du har skrivit en foreach-loop för att köra beräkningen parallellt.

foreach och doParallel har laddats åt dig.

Den här övningen är en del av kursen

Parallell programmering i R

Visa kurs

Övningsinstruktioner

  • Skapa ett kluster med fyra kärnor.
  • Ange en fil med namnet state_log.txt där meddelanden från klustret ska loggas.
  • Logga maxvärdet för kolumnen weight_gain_pounds i dataramen df inuti loopens kropp.
  • Läs state_log.txt för att kontrollera utskriftsmeddelandena.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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 = ";")
Redigera och kör kod