ПочатиПочніть безкоштовно

Налагодження кореляцій

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