Quiero hacer una sola figura en R con dos gráficos en un archivo de reducción con knitr
. Normalmente, esto es fácil de hacer con layout(t(1:2))
o par(mfrow=c(1,2))
. ¿Puedo hacer esto con knitr
, o siempre tendrá dos figuras separadas?Uso del diseño con knitr
Aquí es un ejemplo de trabajo mínimo que crea un archivo llamado ./junk.Rmd
y ./junk.md
en su directorio de trabajo junto con dos archivos ./figure/junkislands1.png
(que sólo incluye la primera trama) y ./figure/junkislands2.png
(que incluye ambas parcelas que yo quiero).
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")
El problema no es tanto que se crea dos archivos .png, sino más bien que el archivo de rebajas junk.md
incluye a ambos.
Cuando hago ese recargo en html, incluye ambos archivos .png cuando solo quiero uno con las dos figuras trazadas.
Aquí está el archivo junk.md
que se genera a partir knitr:
```r
par(mfrow = c(1, 2))
pie(islands)
```
![plot of chunk junkislands](figure/junkislands1.png)
```r
barplot(islands)
```
![plot of chunk junkislands](figure/junkislands2.png)
en sentido estricto, esto es un error de 'knitr' (https://github.com/yihui/knitr/issues/292); Trataré de arreglarlo más tarde; gracias –
He [reparado] (https://github.com/yihui/knitr/commit/3508ddb86f0068c17570b3c71dc1e79414041627) este error en la versión de desarrollo: https://github.com/yihui/knitr#readme Ciertamente puedes usar 'fig .keep = 'last'', pero eso ya no será necesario. –