0

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

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")

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

4

2 回答 2

0

我也遇到了这个错误。问题是 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))
于 2014-02-10T20:44:06.463 回答
0

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

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

于 2014-02-02T01:34:55.743 回答