我有一些带有S3类的R代码,其中一些方法能够处理多个类。我试图隐藏上游类用户的细节。一个简化的例子如下所示(类2p,3p,3m):
#' @export
foo <- function(myclass){
UseMethod("foo", myclass)
}
#' @export
foo.2p <- function(myclass){
return(myclass+2)
}
#' @export
foo.3p <- function(myclass){
return(myclass+3)
}
#' @export
foo.3m <- function(myclass){
return(myclass*3)
}
#' @export
bar <- function(myclass){
UseMethod("bar", myclass)
}
#' @export
bar.2p <- function(myclass){
return(2)
}
#' @export bar.3m
#' @export
bar.3p <- bar.3m <- function(myclass){
return(3)
}
我的问题是,roxygen2没有正确识别bar.3m作为S3方法。如果我明确地说@ S3method bar.3m roxygen2警告我&#34; @ S3method已被弃用。请改用@export。&#34;如何让roxygen2了解bar.3m是一种S3方法?注意:真正的功能并不简单。