【发布时间】:2016-07-17 00:41:27
【问题描述】:
我正在开发一个 R 包,它需要使用 snowfall 包提供的并行化。 snowfall 似乎没有像ggplot2、data.table 等其他包一样导入。我在描述文件、名称空间文件中包含了snowfall、rlecuyer 和snow , 并作为函数本身的导入参数。当我尝试访问此功能时,我收到以下错误:
Error in sfInit() : could not find function "setDefaultClusterOptions"
sfInit 函数似乎有一个 nostart / nostop 参数,它说它与 sfInit 的嵌套使用有关,但这似乎对我也不起作用。
实际代码本身使用sfInit(这是我得到错误的地方),一些sfExports 和sfLibrarys,以及sfLapply。
可能的解决方案:
如果我将 snow 从导入部分移动到描述文件中的依赖部分,它似乎可以工作。我不知道为什么。
【问题讨论】:
-
系统设置、版本、执行这些操作的实际代码?看起来 pkg:snow 没有正确连接。
-
我在描述文件中有雪,我可以在命名空间中看到一个导入(雪)。我还在函数中添加了一个 #' @import snow。还有什么我应该做的吗?
-
如果我在包装代码本身中显式调用 snow,则包可以正常工作。
-
是否有任何解决方案(除了在导入部分添加雪)?我有同样的问题。将 Roxygen2 与
importFrom snow setDefaultClusterOptions一起使用,但返回相同的错误。 -
...顺便说一句,您从
snowfall中获得的收益是否超过了您的成本?作为一个可用性包装器,我从来没有觉得它改善了我的体验......但当我偶然发现它时,也许我已经离兔子洞太远了。除非您有一些特殊原因想要使用snowfall,否则您可能需要考虑使用cran.r-project.org/web/packages/future/index.html。它正在积极开发中,作者似乎致力于支持各种各样的后端。