2014-11-29 2 views
0

Я использовал R's doParallel и foreach. Я обновил R и эти пакеты в последнее время (не уверен, если он связан с этим вопросом) и заметил эту ошибку:R obj должен быть ошибкой объекта foreach после обновления

> foreach(a=1:3, b=rep(10, 3)) %do% (a + b) 
Error in e$fun(obj, substitute(ex), parent.frame(), e$data) : 
    obj must be a foreach object 

пример является один из foreach виньетки. В чем проблема?

EDIT:

пущена новый R сессии, переустанавливать doParallel и проблема ушла.

+0

Предлагая модифицирования вопроса, чтобы показать, что она фактически закрыта, затем. –

+0

Или просто удалите его –

ответ

3

При загрузке memisc после doParallel пакета, вы получите предупреждающее сообщение:

The following object(s) are masked from ‘package:foreach’: 

    foreach 

Выполнение цикла Еогеаспа теперь будет генерировать «Эти объекты должны быть объектом Еогеаспа» ошибка, потому что вы не будете используйте правильную функцию foreach.

Вы можете использовать оператор ::, чтобы избежать этой проблемы:

foreach::foreach(a=1:3, b=rep(10, 3)) %do% (a + b) 
2

Оказалось, что погрузка пакета memisc до doParallel вызывает проблемы.

Смежные вопросы