一个大块的多个数字与knitr和Rstudio 0.97或0.98

时间:2013-06-12 03:48:58

标签: knitr rstudio

我尝试从Sweave转到knitr但是我遇到了一个问题,就是在一个块中使用多个图。这是一个例子: 让这个.Rnw简单文件(名为Essai.Rnw)。当然,pdf中只显示了一个图:

\documentclass{article}

\begin{document}
\SweaveOpts{concordance=TRUE}

<<fig=TRUE>>=
plot(1:10, exp(1:10))
plot(1:10, log(1:10))
@

\end{document}

我使用以下方法将其转换为knitr格式:

library("knitr", lib.loc="/Library/Frameworks/R.framework/Versions/3.0/Resources/library")
Sweave2knitr("Essai.Rnw")

我编辑文件以获取此信息:

\documentclass{article}

\begin{document}
\SweaveOpts{concordance=TRUE}

<<include=FALSE>>=
require(knitr)
opts_chunk$set(concordance=TRUE)
@
<<>>=
plot(1:10, exp(1:10))
plot(1:10, log(1:10))
@
\end{document}

在Rstudio全局首选项中,我使用Knitr设置Weave Rnw文件,当我使用Rstudio中的Compile pdf按钮生成pdf文件时,我只得到一个图,而不是我预期的2。

这是我的sessionInfo()

> sessionInfo()
R version 3.0.1 Patched (2013-06-10 r62935)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] fr_FR.UTF-8/fr_FR.UTF-8/fr_FR.UTF-8/C/fr_FR.UTF-8/fr_FR.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] knitr_1.2

loaded via a namespace (and not attached):
[1] digest_0.6.3   evaluate_0.4.3 formatR_0.7    stringr_0.6.2  tools_3.0.1   

2 个答案:

答案 0 :(得分:1)

不确定这是您问题的原因,但如果您使用knitr进行编织,我认为您必须删除\SweaveOpts{concordance=TRUE}行。

答案 1 :(得分:1)

如果我编译以下内容,我会得到两个图。请注意我删除的内容。您的原始代码未在我的系统上编译。

\documentclass{article}
\begin{document}

<<include=FALSE>>=
opts_chunk$set(concordance=TRUE)
@
<<>>=
plot(1:10, exp(1:10))
plot(1:10, log(1:10))
@
\end{document}

也许请阅读有关如何将图表集成到输出中的knitr选项fig.keep=