对于谁愿意在knitr
中使用RStudio
编写动态文档,这似乎是一个经常出现的问题(例如,另请参阅here)。
不幸的是,我还没有在Stack Overflow上找到解决方案,或者通常使用Google搜索更多。
这是我试图在RStudio中编译的玩具示例。这是minimal-example-002.Rnw
(link):
\documentclass{article}
\usepackage[T1]{fontenc}
\begin{document}
Here is a code chunk.
<<foo, fig.height=4>>=
1+1
letters
chartr('xie', 'XIE', c('xie yihui', 'Yihui Xie'))
par(mar=c(4, 4, .2, .2)); plot(rnorm(100))
@
You can also write inline expressions, e.g. $\pi=\Sexpr{pi}$, and \Sexpr{1.598673e8} is a big number.
\end{document}
我的问题是我无法使用RStudio
在knitr
中编译pdf,而通过将默认编织选项更改为sweave
,我得到了最终的pdf。
更具体地说,我使用的是Windows 7,最新的RStudio版本(0.98.1103),我使用knitr选项编织文件,并禁用了&#34;始终启用Rnw一致性&#34;框。
这件事发生在你身上吗? 非常感谢任何帮助,非常感谢。
修改
显然这不是一个RStudio问题,因为我试图从R编译文档:
library('knitr')
knit('minimal_ex.Rnw')
我得到同样的错误:
processing file: minimal_ex.Rnw
|
| | 0%
|
|...................... | 33%
ordinary text without R code
|
|........................................... | 67%
label: foo (with options)
List of 1
$ fig.height: num 4
Quitting from lines 8-10 (minimal_ex.Rnw)
Errore in data.frame(..., check.names = FALSE) :
arguments imply differing number of rows: 3, 0
Inoltre: Warning messages:
1: In is.na(res[, 1]) :
is.na() applied to non-(list or vector) of type 'NULL'
2: In is.na(res) : is.na() applied to non-(list or vector) of type 'NULL'
编辑2:
这是我的会话信息:
R version 3.1.1 (2014-07-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=Italian_Italy.1252 LC_CTYPE=Italian_Italy.1252 LC_MONETARY=Italian_Italy.1252 LC_NUMERIC=C
[5] LC_TIME=Italian_Italy.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] knitr_1.10.5
loaded via a namespace (and not attached):
[1] tools_3.1.1
答案 0 :(得分:2)
花了好几个小时试图找出问题之后,我更新了R(v 3.2.0),现在一切正常。
目前尚不清楚问题是否是由于某些软件包冲突造成的,因此肯定不是RStudio
问题(正如我最初的想法)。
答案 1 :(得分:1)
要添加一点:这似乎是echo
参数的错误,默认为TRUE
。使用knitr
和pdfLaTeX
作为渲染器将其设置为false对我有用。如果您因为依赖性和/或权限问题而无法更新,则此输入可能是一个有用的特殊修复,因为错误消息非常无用。