Chcę utworzyć pojedynczą cyfrę w R z dwoma działkami w pliku oceny z knitr
. Zwykle jest to łatwe do zrobienia z layout(t(1:2))
lub par(mfrow=c(1,2))
. Czy mogę to zrobić z knitr
, czy też zawsze będzie tworzył dwie osobne liczby?Korzystanie z układu z dzianinami
Oto przykład minimum pracy, który tworzy plik o nazwie ./junk.Rmd
i ./junk.md
w katalogu roboczym wraz z dwoma plikami ./figure/junkislands1.png
(która obejmuje tylko pierwszy zapis) i ./figure/junkislands2.png
(która obejmuje zarówno działek, które chcę).
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")
Problemem jest nie tyle to, że tworzy dwa pliki .png, ale raczej, że plik Przecena junk.md
obejmuje oba z nich.
Kiedy dokonuję tego obniżenia do html, zawiera on oba pliki .png, gdy chcę tylko ten z dwoma wykresami.
Oto plik junk.md
który jest generowany z 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)
ściśle mówiąc, jest to bug z 'knitr' (https://github.com/yihui/knitr/issues/292); Spróbuję to naprawić później; dzięki –
Mam [naprawiono] (https://github.com/yihui/knitr/commit/3508ddb86f0068c17570b3c71dc1e79414041627) ten błąd w wersji rozwojowej: https://github.com/yihui/knitr#readme Z pewnością można użyć 'rys. .keep = 'last'', ale nie będzie to już wymagane. –