27

knitrマークダウンを使用して、現在のワークスペースから派生したオブジェクトを使用してその場でレポートを作成できるかどうか疑問に思っています。再現性はここでは問題ではありません。私はまた、この非常に素晴らしいスレッドを読みました ここ.

それでも、特定のオブジェクトが見つからないというエラー メッセージが表示されます。

1)新しいマークダウンドキュメントを開いて保存するとします。

lm2)ワークスペース内のオブジェクトを参照するチャンクを書き込みます。電話summary(mylmobject)

3) 編む。

残念ながら、レポートは生成されますが、オブジェクトが見つからなかったため、回帰出力を表示できません。オブジェクトを.Rdataに保存してから、マークダウンファイルから直接ロードするだけで、一般的に機能することに注意してください。

現在のワークスペースにある R マークダウンでオブジェクトを使用する方法はありますか? これは、R 以外の人が作業中に何らかの出力を表示するのに非常に役立ちます。

4

4 に答える 4

36

RStudio は R Markdown ファイルへの新しいR セッションを開くknit()ため、現在の作業スペース内のオブジェクトはそのセッションでは使用できません (これらは 2 つの別個のセッションです)。2 つのソリューション:

  1. RStudio に機能要求を提出し、新しいセッションを強制的に開始するのではなく、現在の R セッションで編み物をサポートするように依頼します。
  2. 自分で手動で編みます: library(knitr); knit('your_file.Rmd')(またはknit2html()、1 つのステップで HTML 出力が必要な場合、またはR Markdown v2rmarkdown::render()を使用している場合)
于 2012-06-22T15:04:24.430 に答える
29

次を使用して、他のセッションからデータを保存する方が簡単な場合があります。

save.image("C:/Users/Desktop/example_candelete.RData")

次に、それを MD ファイルにロードします。

load("C:/Users/Desktop/example_candelete.RData")
于 2012-10-31T23:08:57.923 に答える
0

Julien Colomb がコメントしたように、この状況で行う最善の方法は、大きなオブジェクトを保存してから、マークダウンを調整している間にそれらを明示的にロードすることです。これは、データが ODBC 経由で送られてきて、フォントやテーマをいじる際にクエリ全体を繰り返し実行したくない場合に必須です。

于 2018-04-19T09:53:23.323 に答える