Я использую функцию foreach()
в пакете foreach
R для параллельных вычислений. Помимо этой функции, я думаю, что также необходимо использовать функцию registerDoMC()
в пакете doMC
.ли импортировать «параллельный» пакет в R при использовании foreach
Однако, когда я пишу DESCRIPTION
файл, раздел Imports
содержит doMC (>= 1.3.0), foreach (>= 1.4.1)
, но когда я запускаю мой код, ошибка указывает: не может найти iter
функцию. Таким образом, я также import
пакет iterators
.
кажется, что есть еще ошибка: функция mclapply()
должна использоваться foreach()
, и эта функция появляется в какparallel
и multicore
пакета. Я включил оба пакета в разделе Imports
, но когда я запускаю search()
, предупреждения появляются:
Warning messages:
1: replacing previous import ‘mclapply’ when loading ‘parallel’
2: replacing previous import ‘mcparallel’ when loading ‘parallel’
3: replacing previous import ‘pvec’ when loading ‘parallel’
Это довольно странно: хотя я явно imports
как пакеты iterators
и multicore
, я до сих пор не могут использовать свои функции после загрузки своего собственного пакета ... Вместо этого я должен явно запустить:
library(iterators)
library(multicore)
для того, чтобы использовать свою собственную функцию в моем пакете, что делает использование параллельных вычислений. Что-то не так в письме? Спасибо огромное!
Большое вам спасибо за решение! Да, это действительно работает, если я поместил doMC в раздел Depends ;-) – alittleboy