【问题标题】:Roxygen2 - "argument is of length zero" error when documenting reference classRoxygen2 - 记录参考类时出现“参数长度为零”错误
【发布时间】:2014-02-28 02:51:58
【问题描述】:

为了演示一个最小的案例,假设我有以下包:

#' @docType package
#' @import methods
#' @title MyTitle
#' @description MyDescription
#' @details MyDetails
#' @export
A <- setRefClass("A")

当我roxygenize 时(在RStudio,在'Build & Reload'之前)。我明白了:

==> roxygenize('.', roclets=c('rd', 'collate', 'namespace'))

* checking for changes ... ERROR

Error in process.docType(partitum) : 
  Roclet processing error in block Test1.R:7
argument is of length zero

怎么了?如何解决此错误?

我的设置:

  • Roxygen2 3.1.0
    • 使用 roxygen 生成(在 RStudio 中):
      • Rd 文件
      • 整理字段
      • 命名空间文件
    • 运行时自动 roxygenising(在 RStudio 中):
      • R CMD 检查
      • 源代码和二进制包构建
      • 构建和重新加载
  • R:3.0.2(飞盘航行)
  • IDE:RStudio 0.98.490
  • 操作系统:Windows 8.1

【问题讨论】:

  • 为什么有@docType 包?否则,我看不出你的 roxygen 块有什么明显的问题。
  • @Hadley - 因为我正在构建一个包,所以我不应该有一个@doctype package吗?
  • @docType 用于文档类型,此处为类(但可以省略,因为它是自动生成的)。您通常也不会明确标记 @title@description@details

标签: r roxygen2 reference-class roxygen


【解决方案1】:

我也遇到过类似情况

#' @export
A <- setRefClass("A")

导致同样的错误,我使用以下方法解决了:

A <- setRefClass("A")
#' @export
A 

奇怪的是,这是在一个我有一段时间没有修改过的文件中,所以它仍然有点神秘......

【讨论】:

    猜你喜欢
    • 2023-03-11
    • 2019-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 2018-05-01
    • 2016-03-15
    相关资源
    最近更新 更多