检查我的R包时出现以下错误
> Error: could not find function "locdata"
> Execution halted
> when running code in ‘DFSurvey.Rnw’
> ...
>
> > opts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf")
>
> When sourcing ‘DFSurvey.R’:
> Error: object 'opts_chunk' not found
> Execution halted
谢毅辉(knitr developer)说,那是因为在RStudio中,knitr没有被设置为编织.Rnw文件的方法,https://groups.google.com/forum/?fromgroups#!topic/knitr/9672CBbc8CM。我在工具和构建选项中都设置了knitr,在R包描述文件中我有:
VignetteBuilder: knitr
Suggests: knitr
在我的小插曲中:
%\VignetteEngine{knitr}
%\VignetteDepends{knitr,xtable,TSP}
当我在RStudio中使用编译pdf或使用knit(“KNITR.Rnw”)时,它会正确编译。当我检查包时,我得到每个插图的上述错误。我甚至把
require(knitr)
在我的opts_chunk $ set语句之前。这没有用。我也从命令行运行检查并得到了同样的错误。谢谢你的帮助。
Knitr是一个有用的包。我在小插图中运行了很长时间的模拟,并且缓存可以在不运行每次模拟的情况下纠正错误。它没有试图找到Sweave.sty文件的问题。
这是我的sessionInfo()
> R version 3.0.0 (2013-04-03)
> Platform: x86_64-apple-darwin10.8.0 (64-bit)
>
> locale:
> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
>
> attached base packages:
> [1] tcltk grid stats graphics grDevices utils datasets methods
> [9] base
>
> other attached packages:
> [1] DualFrame_0.5 xtable_1.7-1 TSP_1.0-7
> [4] maptools_0.8-23 lattice_0.20-15 foreign_0.8-53
> [7] spsurvey_2.5 sp_1.0-9 stringr_0.6.2
> [10] sqldf_0.4-6.4 RSQLite.extfuns_0.0.1 chron_2.3-43
> [13] gsubfn_0.6-5 proto_0.3-10 RSQLite_0.11.3
> [16] DBI_0.2-7 knitr_1.2 gpclib_1.5-5
>
> loaded via a namespace (and not attached):
> [1] deldir_0.0-22 digest_0.6.3 evaluate_0.4.3 formatR_0.7 MASS_7.3-26
> [6] rgeos_0.2-17 tools_3.0.0
答案 0 :(得分:50)
将library(knitr)
放在此opts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf")
答案 1 :(得分:1)
您必须先加载knitr库,请尝试以下操作:
```{r setoptions, echo=FALSE}
library(knitr)
opts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf")```
答案 2 :(得分:0)
我今天遇到了同样的问题。以前总是好的。错误消息是:
Quitting from lines 14-49 (report.Rmd)
Error in eval(expr, envir, enclos) : object 'opts_chunk' not found
我首先在全局选项之前指定了 library(knitr)
。没有帮助。
我在 opts_chunk 之前指定了名称空间并且它起作用了,例如 knitr::opts_chunk
。
答案 3 :(得分:-1)
对于可以使用knit()或使用RStudio中的“编译PDF”按钮进行编译的编织小插图,但是得到了
检查或构建程序包时出现错误:找不到对象'opts_chunk' 执行暂停
错误,程序包检查代码无法识别您的.Rnw文件应该knit
而不是Sweave
。检查您是否有以下内容:
如果你有R 3.0.0或者,那么这些插图位于插图目录中 更高(这是这篇文章的解决方案), cran.r-project.org/doc/manuals/r-devel/R-exts.html#Non_002dSweave-vignettes
在小插图元数据中包含%\VignetteEngine{knitr::knitr}
,
yihui.name/knitr/demo/vignette /
在包描述文件中指定VignetteBuilder: knitr
,然后
如果仅需要knitr,请在DESCRIPTION中添加Suggests: knitr
晕影
如果不起作用,请在opts_chunk()
中设置全局选项之前添加一个require(knitr)语句,正如Ben Bolker,Yuhui和Tyler Rinker所建议的那样。
如果在RStudio中: 在Build配置和工具选项中,将Sweave选项设置为knitr,www.rstudio.com /ide / docs / authoring / rnw_weave
答案 4 :(得分:-1)
在“工具”选项中将“Sweave”选项更改为knitr对我有用。