foreach R:在我自己的包中调用函数

时间:2015-04-11 15:29:30

标签: r foreach doparallel

我正在编写R包。我的一个函数使用另一个函数和一些其他与数据相关的参数,并使用 foreach 包运行%dopar%循环。这个foreach-using函数在我的包的一个主要功能中使用。

当我从另一个文件调用main函数时,在加载了我的包之后,我收到了消息

 Error in { : task 1 failed - "could not find function "some_function"

其中some_function是我的包的一些功能。当我在.export的调用中将foreach参数设置为以下任何一项时,我收到此消息,具有不同的缺失函数:

  • ls(as.environment("package:mypackagename"))
  • ls(.GlobalEnv)
  • ls(environment())
  • ls(parent.env(environment()))
  • ls(parent.env(parent.env(environment()))

甚至连上面的内容。我还尝试将我的包名称传递给.package参数,该参数只会产生错误消息

Error in e$fun(obj, substitute(ex), parent.frame(), e$data) : worker initialization failed: there is no package called ‘mypackagename’

我觉得我已经尝试了所有的东西,我真的需要这段代码才能工作。我应该注意,如果我使用%do%而不是%dopar%,它确实有效。我做错了什么?

0 个答案:

没有答案