在 r markdown 中抑制控制台输出,但保留绘图

suppress console output in r markdown, but keep plot

嗨,我有以下降价块:

```{r, echo=FALSE,warning=FALSE,message=FALSE,error=FALSE}
lapply(obj,function(x) plot(x,main="some plot") box() axis(1,at=seq(0,25,by=1))
```

输出是多个图。但是,我还在绘图下方的 pdf 文档中获得了控制台消息。

<Plot 1> nice plot 1!
<Plot 2> nice plot 2!

-- nasty horrible console output
## [[1]] 
01.2882829 

## [[2]]
120.29393933

我试过 echo/warning/error/message = FALSE,但这些都不会抑制控制台输出

请帮忙!

invisible 中包装任何对象将自动阻止 printing 它。

你应该可以使用

invisible(lapply(obj,function(x) plot(x,main="some plot")))

然而,echo=FALSE 不起作用的事实表明可能还有其他原因。

试试这个:

{r, echo=FALSE,results='hide',fig.keep='all'}
lapply(obj,function(x) plot(x,main="some plot") box() axis(1,at=seq(0,25,by=1))

我的 R 笔记本也遇到了这个问题,echo=FALSE 什么也没做。然而 message=FALSE 确实如此。

```{r, message=FALSE}

简单地为您的块选项设置 ```{r, results = 'hide'} ```{r, results = FALSE} 会抑制 R output 但不会显示警告、消息或错误。不需要额外的功能。

可以在此处找到更多详细信息。 https://yihui.org/knitr/options/#text-output

这些是对我有用的选项:

echo=FALSE, message=FALSE, results='hide'

试试这个,

它将隐藏错误、警告、代码和控制台输出。它只会显示图表。

{r, echo=FALSE,warning=FALSE,message=FALSE,error=FALSE, results='hide',fig.keep='all'}
lapply(obj,function(x) plot(x,main="some plot") box() axis(1,at=seq(0,25,by=1))

稍后您可以将其导出到 HTML,这将是整洁且可读的