我有一个包含一系列生成ggplot2对象的函数的程序包。最近,ggplot2更新了一个功能,会提示以下信息:
`geom_smooth()` using method = 'loess' and formula 'y ~ x'
我知道ggplot2为什么会这样说,但我不需要每次运行绘图时都听到它的提示(这会让我的用户感到困惑,因为他们认为他们做错了什么)。我知道我可以通过使用suppressMessages
来抑制这些消息,但我不想print
一张图表,而是想return
它。如果我print
它,即使我不想显示它,它也会显示图表。
你有什么想法吗?以下是一个最简示例。
f = function(y,x,data){
p = ggplot(data, aes_string(x,y)) + geom_point() + geom_smooth(se=F)
#suppressMessages(return(p)) ### doesn't work
suppressMessages(print(p)) ### works, but I don't want to PRINT it
}
data(iris)
head(iris)
f("Sepal.Length", "Sepal.Width", iris)
method = 'loess'
设置为默认值之外的值? - JBGruberf
时将suppressMessages
包装起来。值得注意的是,如果您分配了f
的结果(即它不是隐式打印),则不会出现警告。 - iod