【发布时间】:2017-07-30 16:34:25
【问题描述】:
当我运行 R(即使是作为加载零库的无头 Rscript)时,我偶尔会看到
This is package 'modeest' written by P. PONCET.
For a complete list of functions, use 'library(help = "modeest")' or 'help.start()'.
它污染了我的日志文件的输出。虽然我发现它对一些事情很有用,但我很少加载它。在这种情况下,如何防止它发出消息?我知道如果我真的加载了一个库,我可以suppressPackageStartupMessages,但即使没有加载任何包,也会出现此消息。
可能是我每次看到这个我都在调用一个函数,该函数是一个包的一部分,该包依赖于一个包,该包依赖于modeest(至少在菊花链中的某个地方),甚至如果我不使用library(...)。
重现步骤:
- 安装最简单的包
- 使用从 modeest 导入函数的函数编写一个包
- 编写另一个包,其中的函数依赖于步骤 2 中提到的包中不相关的(最普通的)函数
- 使用
package::func(arg)或library(package); func(arg)从步骤3 调用包中的函数,该函数不依赖于任何地方的modeest。
【问题讨论】:
-
也许有一些想法在这里:stackoverflow.com/questions/6279808/… 或在这里:stackoverflow.com/questions/8681688/…。 reproduicble example 将有助于真正解决您的问题。
-
您链接到的第一个 stackoverflow 问题更接近标记。但是,解决方案说使用
importFrom。我专门为我的所有包裹这样做。 -
好的,再次检查:作者似乎认识到问题according to an explanatory comment ...然后什么也没做。所以,我会回到我最初的评估:对作者大喊大叫(= 提交错误报告),这是不好的行为,应该在包中修复。
标签: r