我正试图捆绑一个包裹的松散末端,而我几乎只是对小插曲。我在包中有四个小插曲。对于参考,我们称之为Vignettes A - D.当我运行R CMD check
时,我收到错误
Error: processing vignette 'Vignette A.Rmd' failed with diagnostics:
'what' must be a character string or a function
但是,无论何时我使用R Studio中的编织按钮处理Vignette A,文档编译都很合适。
所以我开始玩游戏,最终,我发现R CMD check
在包中都有Vignettes A和C时都会失败。但是,每当我删除这两个小插图中的任何一个时,R CMD check
都没有错误。
我不知道从哪里开始。关于这两个文件在包中共存可能存在什么问题的任何想法?
我正在使用R 3.2.0。 有问题的软件包位于开发分支中 Github
.Rcheck日志文件的输出
* checking files in 'vignettes' ... OK
* checking examples ... OK
* checking for unstated dependencies in vignettes ... OK
* checking package vignettes in 'inst/doc' ... WARNING
Package vignettes without corresponding PDF/HTML:
'DecisionNetworks.Rmd'
'GettingStartedWithHydeNet.Rmd'
'HydeNetPlots.Rmd'
'WorkingWithHydeNetObjects.Rmd'
* checking running R code from vignettes ... OK
* checking re-building of vignette outputs ... NOTE
Error in re-building vignettes:
...
Loading required package: nnet
Loading required package: rjags
Loading required package: coda
Linked to JAGS 3.4.0
Loaded modules: basemod,bugs
Quitting from lines 173-176 (WorkingWithHydeNetObjects.Rmd)
Error: processing vignette 'WorkingWithHydeNetObjects.Rmd' failed with diagnostics:
'what' must be a character string or a function
Execution halted
答案 0 :(得分:2)
knitr::knit('vignettes/WorkingWithHydeNetObjects.Rmd')
,一切正常。然后我尝试在共存问题的另一个插图上运行knit
并发现没有错误。然后我再次在knit
上运行WorkingWithHydeNetObjects.Rmd
,这次产生了错误。
traceback
将错误标识为来自do.call
。当它应该传递一个字符串时,我正在向do.call
传递一个缺失的参数。通过更改其他插图中的选项来更改函数的行为。
因此故事的寓意不是假设每个小插曲都将建立在自己的环境中。您在一个插图中设置的任何选项都将被转移到后续的插图中。