#r #import #parallel-processing #parallel.foreach
Вопрос:
Я пытаюсь найти способ правильного создания файлов .R для использования функций в цикле foreach, который выполняется параллельно. Решение, которое я привел ниже, работает только в том случае, если папка, содержащая функции, находится в текущем каталоге, и я хочу избежать этого. Файл, содержащий приведенную ниже функцию, и все файлы, полученные ниже, находятся в одном каталоге с именем «R». Я думаю, что есть более чистые способы сделать это, но я не могу их найти. Спасибо вам за вашу помощь.
RESULT <- foreach(o=1:mi, .inorder = FALSE, .combine = "rbind", .packages = c("mlogit", "dfidx", "plyr", "dplyr"), .options.snow = opts) %dopar% {
if (ParParams){
source("R/SI3_SpecificModelImputation.R")
source("R/SI4_InitialNAsImpute.R")
source("R/SI5_TerminalNasImpute.R")
source("R/SI6_SLGNAsImpute.R")
source("R/SICommon.R")
Комментарии:
1. Я предлагаю вам создать пакет, но если вы не хотите просто использовать исходный код перед входом в цикл
2. Вы можете просто указать полный путь к сценариям R, тогда не имеет значения, откуда выполняется код. Нравится
source(paste0(rest_of_path,"R/SI..."))