【问题标题】:Error: processing vignette ...: 'what' must be a character string or a function错误:处理小插图...:“什么”必须是字符串或函数
【发布时间】:2015-06-28 10:36:22
【问题描述】:

我正在尝试整理包裹的松散末端,而且我几乎只关注小插曲。我在包装中有四个小插曲。对于引用,我们将它们称为 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 中的 knit 按钮处理 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

【问题讨论】:

  • 不能设置R CMD检查生成错误日志吗?
  • 正在运行R CMD check --help,现在看来您应该已经在工作目录中获取了一个扩展名为.Rcheck的文件
  • 那部分我还没有想到。我使用的是devtools::check,但它在运行check 之前运行build,所以我没有得到输出,因为我从未到达check。我现在从命令行运行check
  • 但是除非有更多细节的选项,否则我似乎没有更多的工作要做。
  • 嗯,它确实告诉你去哪里看,不是吗?

标签: r knitr vignette


【解决方案1】:

Yuhui 的提示让我找到了解决方案。起初,我运行knitr::knit('vignettes/WorkingWithHydeNetObjects.Rmd'),一切正常。然后我尝试在另一个存在共存问题的小插图上运行knit,并没有发现任何错误。然后我再次在WorkingWithHydeNetObjects.Rmd 上运行knit,这一次产生了错误。

traceback 将错误识别为来自do.call。当它应该传递一个字符串时,我将一个缺少的参数传递给do.call。通过更改另一个小插图中的和选项来更改函数的行为。

因此,故事的寓意并不是假设每个小插曲都将在其自己的环境中构建。您在一个小插图中设置的任何选项都将转移到后续小插图中。

【讨论】:

    猜你喜欢
    • 2019-11-16
    • 2022-07-14
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    • 2011-02-27
    • 2018-04-24
    相关资源
    最近更新 更多