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
Övningsinstruktioner
- Skapa ett kluster med fyra kärnor.
- Ange en fil med namnet
state_log.txtdär meddelanden från klustret ska loggas. - Logga maxvärdet för kolumnen
weight_gain_poundsi dataramendfinuti loopens kropp. - Läs
state_log.txtfö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 = ";")