我正在编写一个 R 包。我的一个函数采用另一个函数和其他一些与数据相关的参数,并使用foreach包运行一个%dopar%
循环。这个使用 foreach 的功能在我的包的主要功能之一中使用。
当我从另一个文件调用主函数时,在加载了我的包后,我收到了消息
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%
. 我究竟做错了什么?