私はRStudioでRmarkdownを使用しており、新しいグラフィックスウィンドウで開いたプロットも含めています。ウィンドウがコードチャンク内で直接開かれている場合は、というプロットは、処理された文書に含まれるです。しかし、ウインドウがソースとなる別のスクリプトで開かれている場合、プロットはKnitrの処理中に表示されますが、ではなく、がドキュメントに含まれています。ここで実証する.Rmdスクリプトの完全な最小限の例です。ソーススクリプトで開いたウィンドウからのプロットをRmarkdownに含めるにはどうすればよいですか?
---
title: "Rmarkdown graph inclusion"
---
# Make a simple plot:
```{r}
plot(0,0,main="Attempt 1")
```
Result of above: Plot is displayed during processing and is included in generated document.
# Make the plot in a separate graphics window:
```{r}
windows() # open new graphics window; x11() on Linux, MacOS
plot(0,0,main="Attempt 2")
```
Result of above: Plot is displayed during processing and is included in generated document.
# Make the plot in a separate graphics window called from another script:
```{r}
writeLines("windows() ; plot(0,0,main='From File')" ,
con="openWindowScript.R")
source("openWindowScript.R")
```
Result of above: Plot **is** displayed during Knitr processing but is **NOT** included in the generated document. *Why not?*
私は、検索stackoverflowの他の場所の答えのためにやったが、1つを見つけることができませんでした。事前にお答えいただきありがとうございます。
P.S. Thorndikeの猫のように、私はR関数とKnitrチャンクオプションのランダムなバリエーションを試しましたが、成功はありませんでした。 'source()'に 'local = TRUE'を設定しても動作しません。チャンクオプションの 'fig.show'と' fig.keep'のさまざまな設定は、少なくとも私のためではありません。 –
'openWindowScript.R'(' source'が使われているかどうかに関わらず)で生成されたプロットを含める*方法を探していますか、外部ファイルを特定の要件にしていますか? –
プロットを作成するために 'windows'(または' x11')を使う既存のRスクリプトがあります。私はRmarkdownのコードチャンクから既存のRスクリプトを実行したいのです。これは、ユーザーがスクリプトをどのように実行するのかという理由から、 'ソース'を付けて実行します。私は既存のRスクリプトを変更したくありません。 (単に私の教科書に付随するスクリプトをRmarkdownで実演したいと思っています。これらのスクリプトは新しいグラフィックスウィンドウにプロットする他のスクリプトです)。 –