在knit html输出上删除carett :: train()的迭代

S12*_*000 6 r knitr r-caret

在Rstudio中使用以下代码与Knit HTML

---
title: "test"
output: html_document
---

```{r pressure, echo=FALSE}
library(caret)
tc <- trainControl(method="boot",number=25)
train = train(Species~.,data=iris,method="nnet",trControl=tc)
confusionMatrix(train)
```
Run Code Online (Sandbox Code Playgroud)

如何避免train我的html文件上的迭代打印?

CL.*_*CL. 8

正如@ Swiss12000的评论中所建议的那样,trace = FALSE可以传递参数train来抑制消息.

?train由于参数已传递(via ...)到方法,因此未记录此行为nnet.trace = FALSE仅适用于支持此参数的方法.在其他情况下,capture.output下面的方法可能仍然有用.


caret::trainstdout不请自来地打印消息.那太讨厌了.可以通过将表达式包装在以下来抑制输出capture.output():

garbage <- capture.output(train <- train(Species~.,data=iris,method="nnet",trControl=tc))
Run Code Online (Sandbox Code Playgroud)

请注意,这是赋值运算符之间差异capture.output(train = train(...很重要的情况之一:不起作用,可能是因为赋值被解释为参数train().

要另外抑制程序包启动消息,请添加chunk选项 message = FALSE.

---
title: "test"
output: html_document
---

```{r echo=FALSE, message = FALSE}
library(caret)
tc <- trainControl(method = "boot",number = 25)
garbage <- capture.output(
  train <- train(Species ~ ., data = iris, method = "nnet", trControl = tc))
confusionMatrix(train)
```
Run Code Online (Sandbox Code Playgroud)

输出:

测试

## Bootstrapped (25 reps) Confusion Matrix 
## 
## (entries are percentages of table totals)
##  
##             Reference
## Prediction   setosa versicolor virginica
##   setosa       33.8        0.0       0.0
##   versicolor    0.0       31.0       1.1
##   virginica     0.0        2.0      32.1
Run Code Online (Sandbox Code Playgroud)