我想创建一个自动knitr报告,它将为我的数据框中的每个数字字段生成直方图.我的目标是做到这一点,而不必指定实际字段(此数据集包含70多个字段,我还希望重用脚本).
我try 了几种不同的方法:
- 将绘图保存到对象
p
,然后在循环后调用p
- 创建绘图数组
PLOTS <- NULL
,并在循环PLOTS <- append(PLOTS, p)
中添加绘图 - 甚至try 将每个文件保存到
.png
个文件,但不必处理保存和重新访问每个文件的开销
恐怕我无法理解这些复杂的情节.
问题
如何使以下区块将循环中的每个绘图输出到报告中?目前,我能达到的最好效果是将最终绘图的输出保存到一个对象,并在循环外调用该对象.
R在RStudio中使用knitr
标记块:
```{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)
}
```
从这一点上,我希望进一步定制情节.