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

时间:2016-02-17 02:19:39

标签: 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)
```

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

1 个答案:

答案 0 :(得分:8)

根据@Swiss12000's comment的建议,可以将参数DateTime _unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); TimeSpan _timestep = TimeSpan.FromMinutes(3); var delta = DateTime.UtcNow - _unixEpoch; var currentTimeStep = (ulong)(delta.Ticks / _timestep.Ticks); 传递给trace = FALSE以取消消息。

train中未记录此行为,因为参数已通过(?train}传递给方法...nnet仅适用于支持此参数的方法。在其他情况下,下面的trace = FALSE方法可能仍然有用。

capture.output主动向caret::train打印消息。那太讨厌了。可以通过将表达式包装在stdout

中来抑制输出
capture.output()

请注意,这是differentce between the assignment operators重要的情况之一:garbage <- capture.output(train <- train(Species~.,data=iris,method="nnet",trControl=tc)) 不起作用,可能是因为赋值被解释为capture.output(train = train(...的参数。

为了额外抑制包启动消息,请添加chunk option train()

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)
```