在R中调试roxygen2的roxygenize

时间:2014-02-02 01:15:10

标签: r roxygen2

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

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

任何想法如何调试此消息将不胜感激。我已经尝试过把我的包裹打成'22',但是没有相关内容。回溯也没有用(通过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")

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分: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))