IniziaInizia gratis

Debugging delle correlazioni

Lavori per il Dipartimento della Salute degli Stati Uniti. Il tuo team sta indagando se avere gravidanze multiple (gemelli, trigemini, ecc.) sia correlato a un maggior aumento di peso durante la gravidanza. Hai calcolato la correlazione, ma i tuoi valori differiscono in modo significativo dalle stime di un'altra analista. Lei ha fatto notare che nei tuoi dati non sono registrati valori di aumento di peso superiori a 99 libbre. Hai deciso di eseguire nuovamente il calcolo e, questa volta, vuoi registrare il valore massimo di aumento di peso.

Nel tuo workspace hai una lista di data frame, ls_df. Ogni elemento di ls_df contiene i dati sulle nascite per ciascuno stato. Hai scritto un ciclo foreach per eseguire il calcolo in parallelo.

foreach e doParallel sono già stati caricati per te.

Questo esercizio fa parte del corso

Programmazione parallela in R

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un cluster di quattro core.
  • Specifica un file chiamato state_log.txt in cui verranno registrati i messaggi dal cluster.
  • All'interno del corpo del loop, registra il valore massimo della colonna weight_gain_pounds nel data frame df.
  • Leggi state_log.txt per controllare i messaggi stampati.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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 = ";")
Modifica ed esegui il codice