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
Instrucciones del ejercicio
- Crea un clúster de cuatro núcleos.
- Especifica un archivo llamado
state_log.txtdonde se registrarán los mensajes del cluster. - Dentro del cuerpo del bucle, registra el valor máximo de la columna
weight_gain_poundsen el marco de datosdf. - Lee
state_log.txtpara 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 = ";")