【发布时间】:2013-06-20 01:28:28
【问题描述】:
我最近在 R 中遇到了 knitr 的问题,它突然停止了绘图。它不报告任何问题,问题。它只是制作情节的那个块(本机 R 或 ggplot2)什么都不做。该块被评估,但不知何故被视为没有 R 代码的块。
我已将问题简化为一个最小示例,但不知道出了什么问题。整个文件可以在http://pastebin.com/pJUYjkxd 找到,并且只有这个块。应该很简单吧?
<<mas11,dev='png'>>=
plot(x=1:10, y=rnorm(10))
@
但是编织它会产生以下输出(使用 R 版本 2.14.1):
Rscript --vanilla -e "library(knitr); knit('test.dev.2.Rnw');"
processing file: test.dev.2.Rnw
|>>>>>>>>>>>>>>>>>>>>>> | 33%
ordinary text without R code
|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> | 67%
label: mas11 (with options)
List of 1
$ dev: chr "png"
|>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100%
ordinary text without R code
output file: /home/stefan/Repos/manuscript1/datahandling/test.dev.2.tex
最后的pdf文件是 您可以在哪里看到该块已被回显。
我不知道如何解决这个问题! 请帮忙。
更新
> sessionInfo()
R version 2.14.1 (2011-12-22)
Platform: i686-pc-linux-gnu (32-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_DK.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_DK.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_DK.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] knitr_0.8
loaded via a namespace (and not attached):
[1] digest_0.5.2 evaluate_0.4.3 formatR_0.6 plyr_1.8 stringr_0.6.1
[6] tools_2.14.1
【问题讨论】:
-
我无法重现该问题。
library(knitr); sessionInfo()请! -
尝试使用
fig=TRUE和块选项中的各种选项,而不是手动插入 \begin{figure} 的东西。 -
@Dason - 我在yihui.name/knitr/options 中找不到
fig=TRUE的任何文档;有很多变体(''fig.align''等)。 -
@MrGumble 你说得对,现在 knitr 中没有
fig=TRUE;这只是在早期与 Sweave 兼容的一个选项。正如我所说,请发布会话信息。 -
请参阅 knitr 常见问题解答 1:bit.ly/knitr-faq