R foreach嵌套函数找不到函数使用do.call参数

问题描述:

我试图从许多函数拉R包。所有工作,包括涉及foreach和do.call的*别的工作。出于某种原因,当我打包它们时,它不会找到在第三级嵌套的函数的参数对象。这是错误我得到R foreach嵌套函数找不到函数使用do.call参数

Error in { : task 2 failed - "object 'total.dose.params' not found" 

我已经把一兆瓦的https://github.com/jamaas/qmradoparr.git

我试着用.EXPORT和其他所有的庄园,但仍不能让它找到这个对象。在回购是一个非常小的R脚本称为driver1.R应该证明这个问题。

您不需要导出任何变量,只需将由foreach使用的每个变量传递到其环境(调用foreach的函数)。

我制作了一个pull request包装。

+0

Thx。这是一个奇怪的现象,当我用你的修改运行它时,它运行良好。当我将后端从doParallel更改为doMPI时,它失败了,无法找到一个对象(其中一个函数)。我最近在foreach循环中使用eval(call(“function”))而不是do.call,并且将mpi作为后端,但现在找不到它。 –

+0

@JimMaas我不知道,对不起。我总是使用'doParallel'。为什么你绝对想要使用'doMPI'有没有原因? –

+0

我确实需要一个大的Linux集群,希望在多个节点上跨越〜400个核心进行并行处理,这使得MPI很好地工作......如果它工作正常! –