我正在编写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%
,它确实有效。我做错了什么?