我想在R中使用knitr
在markdown文件中创建一个带有两个图的单个图形。通常,使用layout(t(1:2))
或par(mfrow=c(1,2))
很容易做到这一点。我可以使用knitr
执行此操作,还是总是会生成两个单独的数字?
这是一个最小的工作示例,它在您的工作目录中创建一个名为./junk.Rmd
和./junk.md
的文件以及两个文件./figure/junkislands1.png
(仅包含第一个图)和{{1 (包括我想要的两个图)。
./figure/junkislands2.png
问题不在于它创建了两个.png文件,而是降价文件require(knitr)
temp <- "```{r junkislands, fig.width=8, fig.height=5}
layout(t(1:2))
pie(islands)
barplot(islands)
```"
cat(temp, file="junk.Rmd")
knit("junk.Rmd", "junk.md")
包含了这两个文件。
当我将标记降为html时,它包含两个.png文件,当我只想要绘制两个数字时。
这是从knitr生成的文件junk.md
:
junk.md
答案 0 :(得分:11)
请查看http://yihui.name/knitr/options,特别是fig.keep
。我想你想要fig.keep = 'last'
require(knitr)
temp <- "```{r junkislands, fig.width=8, fig.height=5, fig.keep = 'last'}
layout(t(1:2))
pie(islands)
barplot(islands)
```"
cat(temp, file="junk.Rmd")
knit("junk.Rmd", "junk.md")
给出
```r
layout(t(1:2))
pie(islands)
barplot(islands)
```
![plot of chunk junkislands](figure/junkislands.png)