Déboguer des corrélations
Vous travaillez pour le Department of Health des États‑Unis. Votre équipe cherche à savoir si le fait d'avoir une grossesse multiple (jumeaux, triplés, etc.) est corrélé à un gain de poids plus important pendant la grossesse. Vous avez calculé la corrélation, mais vos valeurs diffèrent sensiblement des estimations d'une autre analyste. Elle a souligné que vos données n'enregistrent pas de valeurs de gain de poids supérieures à 99 livres. Vous avez décidé de relancer le calcul et, cette fois, vous voulez consigner la valeur maximale du gain de poids.
Dans votre espace de travail, vous avez une liste de trames de données, 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.
Cette activité fait partie du cours
Programmation parallèle en R
Instructions de l’exercice
- Créez un grappe de calcul de quatre cœurs.
- Indiquez un fichier nommé
state_log.txtoù les messages du grappe seront consignés. - À l'intérieur du corps de la boucle, consignez la valeur maximale de la colonne
weight_gain_poundsdans la trame de donnéesdf. - Lisez
state_log.txtpour vérifier les messages imprimés.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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 = ";")