gpt4 book ai didi

r - 创建 RPackage - UseMethod 找不到函数

转载 作者:行者123 更新时间:2023-12-04 11:00:54 25 4
gpt4 key购买 nike

我正在尝试创建 R 包的第一次尝试。我有下面的一些功能。

#' @export
overview <- function(x, ...) {
UseMethod("overview")
}

overview.query <- function(return.query, ...) {

现在当我使用 devtools::load_all() (加载所有功能)一切正常,并且 overview.query当我传递 class query 的对象时执行.

但是重建,还有 UseMethod找不到 overview.query功能了(因此没有加载所有功能),我做错了什么?

错误信息: 没有适用于“概述”的方法应用于类“c('query','data.frame')”的对象

我认为只有向用户公开的功能才是 @export 'ed,并且所有其他函数在其他包函数内部仍然可见。

最佳答案

当您创建适用于 S3 对象的通用函数时,您需要导出 UseMethod语句和函数本身,如:

#' @export
overview <- function(x, ...) {
UseMethod("overview")
}
#' @export
overview.query <- function(return.query, ...) {

这应该消除错误,因为该方法现在可供用户使用。

这适用于 roxygen2版本 3+(目前为 5)。有关更多信息,请参阅此答案:

How to properly document S3 methods

关于r - 创建 RPackage - UseMethod 找不到函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31988875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com