Depurando correlações
Você trabalha no Departamento de Saúde dos EUA. Seu time está investigando se ter múltiplas gestações (gêmeos, trigêmeos etc.) está correlacionado com maior ganho de peso durante a gravidez. Você calculou a correlação, mas seus valores diferem bastante das estimativas de outra analista. Ela apontou que seus dados não registram valores de ganho de peso maiores que 99 libras. Você decidiu refazer o cálculo e, desta vez, quer registrar o valor máximo de ganho de peso.
No seu ambiente, você tem uma lista de data frames, ls_df. Cada elemento de ls_df contém dados de nascimentos de cada estado. Você escreveu um loop foreach para executar o cálculo em paralelo.
foreach e doParallel já foram carregados para você.
Este exercicio faz parte do curso
Programação Paralela em R
Instruções do exercicio
- Crie um cluster com quatro núcleos.
- Especifique um arquivo chamado
state_log.txtonde as mensagens do cluster serão registradas. - Dentro do corpo do loop, registre o valor máximo da coluna
weight_gain_poundsno data framedf. - Leia
state_log.txtpara conferir as mensagens impressas.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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 = ";")