在没有运行模型的情况下在R markdown中打印模型摘要

时间:2017-12-06 21:28:58

标签: r knitr r-markdown

我运行了一个物流混合模型,需要大约3个小时来适应。我将模型保存为我的全局环境中的对象,我想在R markdown文档中包含模型摘要。但是,我不希望knitr在将html放在一起时运行模型(这将需要3个小时才能运行)。我只想打印我已经运行的模型的摘要。

Knitr抛出一个错误,说模型对象不在其范围内。

如何让knitr访问我已创建的模型对象,而不是在编译文档时重新运行模型?

2 个答案:

答案 0 :(得分:1)

我将模型保存为RDS对象,然后将其加载到RMarkdown文档中。然后,您可以加载RDS对象,同时如果您只想显示您运行的代码,则隐藏此事实。例如,请参阅下面的代码,该代码适合并保存/重新加载线性模型:

fit <- lm(x ~ y)
saveRDS(fit, "fit.RDS")

然后,在RMarkdown文档中

## (if you do not wish to hide the fact that you are loading it, then omit `echo = FALSE`)
```{r, echo = FALSE}
fit <- readRDS("fit.RDS")
## To show the code that fit the model. 
## `eval = FALSE` means the code is not run while knitting.
```{r, eval = FALSE}
fit <- lm(x ~ y)
```

答案 1 :(得分:0)

首先要做的是用ls()检查你的工作区。如果模型不存在,则需要重新运行它。如果您确实看到它,则只需在控制台中打印摘要即可。当您尝试编织文档时,它将要运行整个rmd