小编dfi*_*ife的帖子

在 R 中用返回而不是打印来抑制消息?

我有一个包,里面有一堆生成 ggplot2 对象的函数。最近,ggplot2 添加了一个更新,给出了一条消息:

`geom_smooth()` using method = 'loess' and formula 'y ~ x'
Run Code Online (Sandbox Code Playgroud)

我知道 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)
Run Code Online (Sandbox Code Playgroud)

r ggplot2 suppressmessage

4
推荐指数
1
解决办法
716
查看次数

标签 统计

ggplot2 ×1

r ×1

suppressmessage ×1