Ladění korelací
Pracuješ pro americké Ministerstvo zdravotnictví. Tvůj tým zkoumá, zda vícečetné těhotenství (dvojčata, trojčata apod.) koreluje s vyšším přírůstkem hmotnosti v průběhu těhotenství. Výsledné korelace ses spočítal/a, ale tvoje hodnoty se výrazně liší od odhadů jiného analytika. Ten upozornil, že tvoje data nezaznamenávají hodnoty přírůstku hmotnosti vyšší než 99 liber. Rozhodl/a ses výpočet zopakovat a tentokrát chceš zalogovat maximální hodnotu přírůstku hmotnosti.
V pracovním prostředí máš k dispozici seznam datových rámců ls_df. Každý prvek ls_df obsahuje data o porodech pro jeden stát. Napsal/a jsi smyčku foreach, která výpočet spouští paralelně.
Balíčky foreach a doParallel jsou již načteny.
Toto cvičení je součástí kurzu
Paralelní programování v R
Pokyny k cvičení
- Vytvoř cluster se čtyřmi jádry.
- Zadej soubor
state_log.txt, do kterého se budou logovat zprávy z clusteru. - V těle smyčky zaloguj maximální hodnotu sloupce
weight_gain_poundsv datovém rámcidf. - Načti soubor
state_log.txta zkontroluj vypsané zprávy.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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 = ";")