CommencerCommencer gratuitement

Déboguer des corrélations

Vous travaillez pour le Department of Health des États-Unis. Votre équipe cherche à savoir si les grossesses multiples (jumeaux, triplés, etc.) sont corrélées à une prise de poids plus importante pendant la grossesse. Vous avez calculé la corrélation, mais vos valeurs diffèrent fortement des estimations d’une autre analyste. Elle a souligné que vos données n’enregistrent pas les valeurs de prise de poids supérieures à 99 livres. Vous avez décidé de relancer le calcul et, cette fois, vous souhaitez consigner la valeur maximale de prise de poids.

Dans votre espace de travail, vous disposez d’une liste de data frames, ls_df. Chaque élément de ls_df contient des données de naissances pour chaque État. Vous avez écrit une boucle foreach pour exécuter le calcul en parallèle.

foreach et doParallel ont été chargés pour vous.

Cet exercice fait partie du cours

Programmation parallèle en R

Afficher le cours

Instructions

  • Créez un cluster de quatre cœurs.
  • Indiquez un fichier nommé state_log.txt où les messages du cluster seront consignés.
  • Dans le corps de la boucle, enregistrez la valeur maximale de la colonne weight_gain_pounds dans le data frame df.
  • Lisez state_log.txt pour vérifier les messages affichés.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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 = ";")
Modifier et exécuter le code