我使用.packages = (.packages())
在我的foreach调用中加载了在全局环境中加载的几个包。但是,我找不到如何抑制包启动消息。当为每个分配的核心加载它们时,此列表会变得相当长。
我已经尝试在函数调用和suppressMessages()
参数周围包含.packages
等标准调用,但没有成功。
foreach(i = x, .packages = (.packages()))
我在泛型函数中使用foreach调用,因此它需要适应用户先验加载的任何包。
我可以在foreach调用中使用apply调用,并在全局环境中加载所有包,但我认为foreach
需要在.packages
参数中加载它?
如果有更好的方法如何做到这一点,请告诉我。
答案 0 :(得分:0)
我有一个蹩脚的半答案:当您创建群集时,您可以指定outfile = '/dev/null'
以使工作节点的所有输出静音。问题是,这会阻止您从节点中打印任何其他内容......
作为一种解决方法,我正如所描述的那样使节点静默,但使用progress bar为用户提供至少一些信息,尽管未经过详细说明。
答案 1 :(得分:0)
这也是一个la脚的答案,更多的解决方法。如果您的函数在单独的R脚本中而不是使用.packages(),则可以执行以下操作:
options( warn = FALSE )
suppressPackageStartupMessages( library(dplyr) )
options( warn = FALSE )
调用库时,在函数文件内。这将关闭软件包的警告,然后再将其重新打开。如果有这个选择,那就太好了。