НачатьНачать бесплатно

Отладка корреляций

Вы работаете в Министерстве здравоохранения США. Ваша команда изучает, связано ли многоплодие (двойни, тройни и т. д.) с более высоким набором веса во время беременности. Вы рассчитали корреляцию, однако ваши значения заметно расходятся с оценками другого аналитика. Она обратила внимание, что в ваших данных отсутствуют значения прибавки в весе свыше 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 = ";")
Редактировать и запускать код