データフレーム内の各数値フィールドのヒストグラムを生成する自動 Knitr レポートを作成したいと考えています。私の目標は、実際のフィールドを指定せずにこれを行うことです (このデータセットには 70 以上が含まれており、スクリプトも再利用したいと考えています)。
私はいくつかの異なるアプローチを試しました:
- プロットをオブジェクトに保存し、ループ後に
p
呼び出すp
- これは最終プロットのみをプロットします
- プロットの配列を作成し
PLOTS <- NULL
、ループ内にプロットを追加するPLOTS <- append(PLOTS, p)
- これらのプロットへのループ外へのアクセスはまったく機能しませんでした
- それぞれをファイルに保存しようとしました
.png
が、各ファイルを保存してから再アクセスするオーバーヘッドに対処する必要はありません
プロット デバイスの複雑さが私を逃れているのではないかと心配しています。
質問
次のチャンクがループ内の各プロットをレポートに出力するようにするにはどうすればよいですか? 現在、私が達成できる最善の方法は、それをオブジェクトに保存し、そのオブジェクトをループの外で呼び出すことによって生成される最終的なプロットの出力です。
knitr
RStudioで使用するRマークダウンチャンク:
```{r plotNumeric, echo=TRUE, fig.height=3}
suppressPackageStartupMessages(library(ggplot2))
FIELDS <- names(df)[sapply(df, class)=="numeric"]
for (field in FIELDS){
qplot(df[,field], main=field)
}
```
この時点から、プロットをさらにカスタマイズしたいと考えています。