Mar*_*tto 21 vignette r rstudio knitr
检查我的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
Run Code Online (Sandbox Code Playgroud)
谢毅辉(knitr developer)说是因为在RStudio中,knitr没有被设置为编织方法.Rnw文件,https: //groups.google.com/forum/ ? fromgroups#!topic/knitr/9672CBbc8CM .我在工具和构建选项中都设置了knitr,在R包描述文件中我有:
VignetteBuilder: knitr
Suggests: knitr
Run Code Online (Sandbox Code Playgroud)
在我的小插曲中:
%\VignetteEngine{knitr}
%\VignetteDepends{knitr,xtable,TSP}
Run Code Online (Sandbox Code Playgroud)
当我在RStudio中使用编译pdf或使用knit("KNITR.Rnw")时,它会正确编译.当我检查包时,我得到每个插图的上述错误.我甚至放了
require(knitr)
Run Code Online (Sandbox Code Playgroud)
在我的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
Run Code Online (Sandbox Code Playgroud)
Tyl*_*ker 50
摆library(knitr)
在这之前opts_chunk$set(cache = TRUE, fig.path = "DFSurveyImages/", dev = "pdf")
对于 knitr 小插图,您可以使用 knit() 或使用 RStudio 中的“编译 PDF”按钮进行编译,但这会导致
错误:找不到对象“opts_chunk”执行停止
检查或构建包时出错,包检查代码无法识别您的 .Rnw 文件应该被knit
编辑而不是Sweave
被编辑。检查您是否具备以下条件:
小插图位于 vignette 目录中,如果您有 R 3.0.0 或更高版本(这是本文的解决方案),cran.r-project.org/doc/manuals/r-devel/R-exts.html#Non_002dSweave -小插图
包含%\VignetteEngine{knitr::knitr}
在 vignette 元数据中,yihui.name/knitr/demo/vignette/
VignetteBuilder: knitr
在包描述文件中指定,并且
Suggests: knitr
如果仅需要 knitr,请添加“描述”
如果这不起作用,请在设置全局选项之前添加一个 require(knitr) 语句opts_chunk()
,如 Ben Bolker、Yuhui 和 Tyler Rinker 建议的那样。
如果在 RStudio 中:在构建配置和工具选项中,将 Sweave 选项设置为 knit,www.rstudio.com/ide/docs/authoring/rnw_weave