使用-knitr-在RStudio中编织Rnw文件

时间:2015-05-25 09:29:12

标签: r rstudio knitr

对于谁愿意在knitr中使用RStudio编写动态文档,这似乎是一个经常出现的问题(例如,另请参阅here)。 不幸的是,我还没有在Stack Overflow上找到解决方案,或者通常使用Google搜索更多。

这是我试图在RStudio中编译的玩具示例。这是minimal-example-002.Rnwlink):

\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}

我的问题是我无法使用RStudioknitr中编译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

2 个答案:

答案 0 :(得分:2)

花了好几个小时试图找出问题之后,我更新了R(v 3.2.0),现在一切正常。 目前尚不清楚问题是否是由于某些软件包冲突造成的,因此肯定不是RStudio问题(正如我最初的想法)。

答案 1 :(得分:1)

要添加一点:这似乎是echo参数的错误,默认为TRUE。使用knitrpdfLaTeX作为渲染器将其设置为false对我有用。如果您因为依赖性和/或权限问题而无法更新,则此输入可能是一个有用的特殊修复,因为错误消息非常无用。