编织器:R包检查错误,未找到对象"opts_chunk" [英] Knitr: R package check error, object 'opts_chunk' not found

查看:249
本文介绍了编织器:R包检查错误,未找到对象"opts_chunk"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

检查我的R包时出现以下错误

I am getting the following error when checking my R package

> 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

Yihui Xie(编织程序开发人员)说,这是因为在RStudio中,未将knitr设置为编织.Rnw文件的方法,

Yihui Xie (knitr developer) said that was because in RStudio, knitr was not set as the method for weaving .Rnw files, https://groups.google.com/forum/?fromgroups#!topic/knitr/9672CBbc8CM. I have knitr set in both the tools and build options, in the R package DESCRIPTION file I have:

VignetteBuilder: knitr
Suggests: knitr

在小插图中,我有:

%\VignetteEngine{knitr}
%\VignetteDepends{knitr,xtable,TSP}

当我在RStudio中使用pdf编译或使用knit("KNITR.Rnw")时,它可以正确编译.当我检查包裹时,每个小插图都会出现上述错误.我什至

When I use compile the pdf in RStudio or use knit("KNITR.Rnw"), it compiles correctly. When I check the package, I get the above errors for each vignette. I even put

require(knitr)

在我的opts_chunk $ set语句之前.那没有帮助.我还从命令行运行了检查,并得到了相同的错误.谢谢您的帮助.

before my opts_chunk$set statement. That did not help. I have also run the check from the command line and gotten the same error. Thank you for any help.

Knitr是有用的软件包.我在小插图中运行了长时间的模拟,并且缓存使纠正错误成为可能,而无需每次都运行模拟.也没有尝试查找Sweave.sty文件的问题.

Knitr is a useful package. I run long simulations in vignettes, and the cache makes it possible to correct errors without running the simulations over each time. It does not have the problem of trying to find the Sweave.sty file either.

这是我的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   

推荐答案

对于编织小插图,您可以使用knit()或RStudio中的编译PDF"按钮进行编译,但是得到一个

For a knitr vignette that you can compile using knit() or with the "Compile PDF" button in RStudio, but that gets an

错误:找不到对象"opts_chunk" 执行停止

Error: object 'opts_chunk' not found Execution halted

在检查或构建软件包时出错,软件包检查代码无法识别您的.Rnw文件应为knit ed而不为Sweave ed.检查您是否具有以下条件:

error when checking or building the package, the package check code is not recognizing that your .Rnw file should be knited and not Sweaveed. Check that you have the following:

  1. 小插曲位于小插图目录中(如果您具有R 3.0.0或 更高(这是该帖子的解决方案), cran.r-project.org/doc/manuals/r-devel/R-exts.html#Non_002dSweave-vignettes

  1. The vignettes are in the vignette directory, if you have R 3.0.0 or higher (this was the solution to this post), cran.r-project.org/doc/manuals/r-devel/R-exts.html#Non_002dSweave-vignettes

在小插图元数据中包含%\VignetteEngine{knitr::knitr}, yihui.name/knitr/demo/vignette/

Include %\VignetteEngine{knitr::knitr} in the vignette metadata, yihui.name/knitr/demo/vignette/

在软件包DESCRIPTION文件中指定VignetteBuilder: knitr,然后

Specify VignetteBuilder: knitr in the package DESCRIPTION file, and

在说明中添加Suggests: knitr如果仅需要编织 小插曲

Add Suggests: knitr in DESCRIPTION if knitr is needed only for vignettes

如果这不起作用,请按照Ben Bolker,Yuhui和Tyler Rinker的建议,在opts_chunk()中设置全局选项之前添加require(knitr)语句.

If that does not work add a require(knitr) statement before you set your global options in opts_chunk(), as Ben Bolker, Yuhui and Tyler Rinker suggested.

如果在RStudio中: 在构建配置"和工具"选项中,将编织"选项设置为knitr,www.rstudio.com/ide/docs/authoring/rnw_weave

If in RStudio: In BOTH the Build configuration and Tool options, set the Sweave option to knitr, www.rstudio.com/ide/docs/authoring/rnw_weave

这篇关于编织器:R包检查错误,未找到对象"opts_chunk"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆