Отладка корреляций
Вы работаете в Министерстве здравоохранения США. Ваша команда изучает, связано ли многоплодие (двойни, тройни и т. д.) с более высоким набором веса во время беременности. Вы рассчитали корреляцию, однако ваши значения заметно расходятся с оценками другого аналитика. Она обратила внимание, что в ваших данных отсутствуют значения прибавки в весе свыше 99 фунтов. Вы решили повторить вычисление и на этот раз хотите записывать в журнал максимальное значение прибавки в весе.
В вашем рабочем пространстве есть список фреймов данных ls_df. Каждый элемент ls_df содержит данные о рождаемости по одному штату. Вы написали цикл foreach для параллельного выполнения вычислений.
Пакеты foreach и doParallel уже загружены.
Это упражнение является частью курса
Параллельное программирование на R
Инструкции к упражнению
- Создайте кластер из четырёх ядер.
- Укажите файл
state_log.txt, в который будут записываться сообщения от кластера. - В теле цикла записывайте в журнал максимальное значение столбца
weight_gain_poundsиз фрейма данныхdf. - Прочитайте файл
state_log.txt, чтобы проверить выведенные сообщения.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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 = ";")