2017-12-06 9 views
1

私は合流に約3時間かかったロジスティック混合モデルを実行しました。モデルを地球環境内のオブジェクトとして保存しました.Rのマークダウン文書にモデルの要約を含めたいと思います。しかし、私はhtmlを一緒に置くときにモデルを実行することをknitrには望んでいません(実行するのにさらに3時間かかるでしょう)。私はすでに実行したモデルの要約を印刷したいだけです。実行モデルのないRマークダウンのモデル概要を印刷

モデルオブジェクトがそのスコープ内にないというエラーがスローされます。

私はすでに作成したモデルオブジェクトにアクセスするためにknitrを取得し、ドキュメントをコンパイルするときにモデルを再実行しないようにするにはどうすればよいですか?

+0

が一つのアプローチは、あなたがモデルオブジェクトを保存することができていると仮定して、RMarkdown文書で、その後

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

:例えば、線形モデルをフィットし、保存/再ロード思われる以下のコードを参照してくださいあなたのrmdファイル内で読み込みます(saveRDSを参照)。 – user20650

答えて

1

私はモデルをRDSオブジェクトとして保存し、それをRMarkdown文書にロードします。実行したコードを単純に表示したい場合は、この事実を隠しながら、RDSオブジェクトを読み込むことができます。

## (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) 
``` 
+0

素晴らしい!それがあなたの問題を解決した場合は、答えを受け入れること自由に感じて:) – aocall

0

まず、作業領域をls()で確認する必要があります。モデルが存在しない場合は、モデルを再実行する必要があります。表示されている場合は、コンソールに要約を印刷するだけです。あなたの文書を編むときには、rmd全体を実行したい

+0

ありがとうございますが、目的はrmd全体を実行しないようにして、モデルを再実行する必要があります(3時間かかる)。モデルは作業領域にあります。私は要約を印刷したいだけです。しかし、rmdでsummary(model)を使うことはできません。なぜなら、knitrは地球環境でモデルを見ることができないからです。 – Darren

+0

コンソールでsummary(model)を実行してみましたか?長いランタイムでrmdを使用する際の問題は、編成するたびに最後に編成したときに作成されたオブジェクトのメモリがないため、1つのセクションしか編成できないことです。ランタイムを減らす方法がない場合は、コンソールを使用するか、単純に.Rスクリプトを使用することをお勧めします。 – stevebroll

+0

はい。モデルが地球環境に格納されているため、コンソールで動作します。新しいオブジェクトを作成しようとするのではなく、オブジェクトを見るためにはどうすればknitrを取得できますか?ここでの目標は、モデルのサマリーをrmd出力を介して共同作業者と共有することです。自分だけではありません。 – Darren

関連する問題