Проблема распараллеливания цикла в R

#r #loops #parallel-processing #parallel.foreach

#r #петли #параллельная обработка #параллельно.для каждого

Вопрос:

У меня есть функция, которая просматривает таблицу, содержащую URL-адрес данных для загрузки и имена, которые будут присвоены загруженному файлу.
Я пытаюсь заставить следующий код работать параллельно — так, чтобы файлы загружались параллельно, а не последовательно, — однако, когда код запускается, кажется, что он выполняет последнее. Я был бы очень признателен за любую помощь в определении того, в чем проблема!

 library(foreach)  library(doParallel)   ### Setup parallel backend to use many processors ###  cores=detectCores()  cl lt;- makeCluster(cores[1]-1) #not to overload your computer  registerDoParallel(cl)    ### The Loop ###  foreach(i = 3:200, (nrow(Df))) %dopar% {  URLlt;- print(Df$Url[i])   FNlt;- print(Df$FileNames[i])  LOCALlt;-file.path("Users/anon/desktop/books", paste(FN, ".mp4", sep=""))  download.file(URL, LOCAL, mode="wb")  }   

Комментарии:

1. Что detectCores() возвращается? Сколько у вас ядер?

2. Привет, у меня 8 ядер

3. Можете ли вы опубликовать примеры данных? Пожалуйста, отредактируйте вопрос с выводом dput(Df) . Или, если он слишком велик с выходом dput(head(Df, 20)) .

4. Кроме того, вам не нужны эти print функции, они замедляют работу кода.