EmpezarEmpieza gratis

Depuración de correlaciones

Trabajas para el Departamento de Sanidad de US. Tu equipo está investigando si tener embarazos múltiples (gemelos, trillizos, etc.) está correlacionado con un mayor aumento de peso durante el embarazo. Has calculado la correlación, pero tus valores difieren significativamente de las estimaciones de otro analista. Ha señalado que tus datos no registran valores de aumento de peso superiores a 99 libras. Has decidido volver a realizar el cálculo, y esta vez quieres registrar el valor máximo de peso ganado.

En tu espacio de trabajo, tienes una lista de marcos de datos, ls_df. Cada elemento de ls_df contiene los datos de nacimiento de cada estado. Has escrito un bucle foreach para ejecutar el cálculo en paralelo.

foreach y doParallel se han cargado para ti.

Este ejercicio forma parte del curso

Programación paralela en R

Ver curso

Instrucciones del ejercicio

  • Crea un clúster de cuatro núcleos.
  • Especifica un archivo llamado state_log.txt donde se registrarán los mensajes del cluster.
  • Dentro del cuerpo del bucle, registra el valor máximo de la columna weight_gain_pounds en el marco de datos df.
  • Lee state_log.txt para comprobar los mensajes de impresión.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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 y ejecutar código