Error: processing vignette ...: 'what' must be a character string or a function
Error: processing vignette ...: 'what' must be a character string or a function
我正在尝试整理包裹的零散部分,但我几乎只剩下小插曲了。我的包裹里有四个小插曲。作为参考,我们将它们称为 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
Yuhui 的提示使我找到了解决方案。起初,我 运行 knitr::knit('vignettes/WorkingWithHydeNetObjects.Rmd')
一切正常。然后我在另一个存在共存问题的小插图上尝试 运行 knit
并没有发现任何错误。然后我又运行 knit
on WorkingWithHydeNetObjects.Rmd
,这次就报错了。
traceback
发现错误来自 do.call
。当 do.call
应该传递一个字符串时,我传递了一个缺失的参数。通过更改另一个小插图中的选项来更改功能的行为。
所以故事的寓意不是假设每个小插图都将在其自己的环境中构建。您在一个小插图中设置的任何选项都将转移到后续小插图中。
我正在尝试整理包裹的零散部分,但我几乎只剩下小插曲了。我的包裹里有四个小插曲。作为参考,我们将它们称为 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
Yuhui 的提示使我找到了解决方案。起初,我 运行 knitr::knit('vignettes/WorkingWithHydeNetObjects.Rmd')
一切正常。然后我在另一个存在共存问题的小插图上尝试 运行 knit
并没有发现任何错误。然后我又运行 knit
on WorkingWithHydeNetObjects.Rmd
,这次就报错了。
traceback
发现错误来自 do.call
。当 do.call
应该传递一个字符串时,我传递了一个缺失的参数。通过更改另一个小插图中的选项来更改功能的行为。
所以故事的寓意不是假设每个小插图都将在其自己的环境中构建。您在一个小插图中设置的任何选项都将转移到后续小插图中。