我试图从sweave转移到knitr,但我被困在一个块中使用多个情节的问题。这里举一个例子: 让这个.Rnw简单的文件(名为Essai.Rnw)。一个块与knitr和Rstudio 0.97或0.98多个数字
\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当然只有一个情节在PDF中所示全局偏好,我使用Knitr设置了Weave Rnw文件,当我使用Rstudio中的Compile pdf按钮生成pdf文件时,我只得到一个plot,而不是我所期望的那样。
这里是我的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
明确的解决方案! 我解决了这个问题。 我在Rstudio中创建了这个文件的一部分,并在项目选项中定义了这个选项:使用(Sweave)编织Rnw文件。 我把它改为(knitr),现在一切正常。 总而言之,项目的选项优先于Rstudio的全球偏好,而Rstudio对于knitr的定义很明确。 – MarcG