Comece agoraComece grátis

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

Ver curso

Instruções do exercicio

  • Crie um cluster com quatro núcleos.
  • Especifique um arquivo chamado state_log.txt onde as mensagens do cluster serão registradas.
  • Dentro do corpo do loop, registre o valor máximo da coluna weight_gain_pounds no data frame df.
  • Leia state_log.txt para 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 = ";")
Editar e Executar Código