【问题标题】:Debugging roxygen2's roxygenize in R在 R 中调试 roxygen2 的 roxygenize
【发布时间】:2014-02-02 01:15:10
【问题描述】:

在 R 中从 roxygen2 包运行 roxygenize() 命令时,我收到消息:

Error in get(fun, mode = "function", envir = parent.frame()) : 
  object '22' of mode 'function' was not found

任何如何调试此消息的想法将不胜感激。我已经尝试将我的包裹 grepping 为“22”,但没有出现任何相关信息。 Traceback 也无济于事(通过 roxygen2 函数而不是我的包提供回溯):

6: get(fun, mode = "function", envir = parent.frame())
5: formals(partitum$object$value)
4: roclet_rd_one(partitum, base_path)
3: roc_process.had(roc, parsed, base_path, options = options)
2: roc_process(roc, parsed, base_path, options = options)
1: roxygenize("myPackage")

任何建议都非常感谢 - 谢谢。

【问题讨论】:

  • 如果无法访问包(github 等),这很困难。我一次提取了一半的函数,并进行了氧化并添加或减去了一半,直到我找到了冒犯的函数,然后在某个地方寻找一些你看过的愚蠢的东西。
  • 看我的回答。你可以记录变量,你只需要做一些不同的事情。

标签: r roxygen2


【解决方案1】:

发现了问题 - 我有关于几个变量(不是函数)的 roxygen 文档。我删除了针对它起作用的变量的文档(我只有两个)。

过去记录变量对我有用,但我认为自从更新到 roxygen 3.0.0 后它可能已损坏。我会把它报告给维护者,看看他们是怎么做的。谢谢!

【讨论】:

    【解决方案2】:

    我也遇到了这个错误。问题是 roxygen 不希望您的数据文档与您的数据定义一起出现。如果您提供非 NULL 值,roxygen 会将其视为要记录的函数。

    代替:

    #' Data title
    #' 
    #' More information
    #' 
    #' @docType data
    #' @format A data frame with some rows and some variables
    my_data <- data.frame(x=rnorm(100),y=rexp(100))
    

    你需要这个:

    #' Data title
    #' 
    #' More information
    #' 
    #' @docType data
    #' @format A data frame with some rows and some variables
    #' @name my_data
    NULL
    my_data <- data.frame(x=rnorm(100),y=rexp(100))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-24
      • 2015-06-25
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 2018-10-13
      • 1970-01-01
      相关资源
      最近更新 更多