Я новичок в программировании, и я пытаюсь использовать параллельную обработку для R в windows, используя существующий код.
Ниже приведен фрагмент моего кода:
if (length(grep("linux", R.version$os)) == 1){
num_cores = detectCores()
impact_list <- mclapply(len_a, impact_func, mc.cores = (num_cores - 1))
}
# else if(length(grep("mingw32", R.version$os)) == 1){
# num_cores = detectCores()
# impact_list <- mclapply(len_a, impact_func, mc.cores = (num_cores - 1))
#
# }
else{
impact_list <- lapply(len_a, impact_func)
}
return(sum(unlist(impact_list, use.names = F)))
Это работает нормально, я использую R на windows, поэтому код входит в оператор else, и он запускает код с помощью lapply (), а не путем параллельной обработки.
I добавили оператор else if, чтобы он работал для windows. Поэтому, когда я отменяю комментирование блока кода else if и запускаю его, я получаю сообщение об ошибке «m c .cores '> 1 не поддерживается на Windows». Подскажите, пожалуйста, как использовать параллельную обработку в windows, чтобы на выполнение кода уходило меньше времени. Любая помощь будет оценена по достоинству.