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
Instructions
- Créez un cluster de quatre cœurs.
- Indiquez un fichier nommé
state_log.txtoù les messages du cluster seront consignés. - Dans le corps de la boucle, enregistrez la valeur maximale de la colonne
weight_gain_poundsdans le data framedf. - Lisez
state_log.txtpour 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 = ";")