无法抑制来自knitr的消息
下面的代码仍然会导致无法抑制来自knitr的消息,r,knitr,R,Knitr,下面的代码仍然会导致 ```{r echo=FALSE, warning=FALSE} rm(list=ls()) library(randomForest) library(tree) library(ggplot2) ``` 以下内容-如何抑制以下内容 ## randomForest 4.6-12 ## Type rfNews() to see new features/changes/bug fixes. ## ## Attaching package:'ggplot2' ## T
```{r echo=FALSE, warning=FALSE}
rm(list=ls())
library(randomForest)
library(tree)
library(ggplot2)
```
以下内容-如何抑制以下内容
## randomForest 4.6-12
## Type rfNews() to see new features/changes/bug fixes.
##
## Attaching package:'ggplot2'
## The following object is masked from'package:randomForest':
##
## margin
您可以添加message=FALSE:
如果这不起作用,则说明程序包作者错误地使用了消息以外的其他内容作为消息。您可以添加message=FALSE:
如果这样做不起作用,则说明包作者错误地使用了消息以外的其他内容作为消息。在我看来,最好避免对消息或警告进行全面抑制,因为这样很容易忽略您确实希望得到警告的实际问题。我建议在每次包加载时有选择地禁用包加载消息。这样,如果向库列表中添加新包,您将看到生成的任何错误或消息,并可以选择抑制它们或以其他方式处理它们
```{r echo=FALSE}
rm(list=ls())
suppressMessages(library(randomForest))
library(tree)
suppressMessages(library(ggplot2))
```
在我看来,最好避免对消息或警告进行全面压制,因为它很容易忽略您确实希望得到警告的真正问题。我建议在每次包加载时有选择地禁用包加载消息。这样,如果向库列表中添加新包,您将看到生成的任何错误或消息,并可以选择抑制它们或以其他方式处理它们
```{r echo=FALSE}
rm(list=ls())
suppressMessages(library(randomForest))
library(tree)
suppressMessages(library(ggplot2))
```
一般来说,在抑制警告时应该小心,但我认为根据定义抑制消息通常是安全的。如果消息真的很重要,作者应该使用警告,尤其是包启动消息。这些信息可能会令人惊讶,并吸引不知道的人不必要的注意。总之,我认为你有道理,但我会在这种情况下使用chunk选项message=FALSE来获得更清晰的代码。理论上我同意你的观点,在python中这通常是我的立场。但是用R,我看到很多来自包负载的消息,我认为是警告,而不是消息。我选择像对待警告一样对待他们。但这确实让代码变得很难看;我仍在试图找出一种方法使其更干净。一般来说,在抑制警告时应该小心,但我认为根据定义抑制消息通常是安全的。如果消息真的很重要,作者应该使用警告,尤其是包启动消息。这些信息可能会令人惊讶,并吸引不知道的人不必要的注意。总之,我认为你有道理,但我会在这种情况下使用chunk选项message=FALSE来获得更清晰的代码。理论上我同意你的观点,在python中这通常是我的立场。但是用R,我看到很多来自包负载的消息,我认为是警告,而不是消息。我选择像对待警告一样对待他们。但这确实让代码变得很难看;我还在想办法让它更干净。