S3ジェネリックといくつかのメソッドを含むパッケージがあります。同じ関数を使用して複数のクラスを処理しているため、同じ関数を複数の名前に割り当てています。私が抱えている具体的な問題は、両方の変数が S3 メソッドにバインドされていることを roxygen2 が認識せず、@S3method
ディレクティブを含めないと、一部の S3 メソッドのエクスポートに失敗することです。ただし、これにより非推奨の警告が表示されます (「@S3method は非推奨です。代わりに @export を使用してください」)。
次の(不自然な)小さな例は、この問題を示しています。
#' The size of an object.
#' The size of an object
#'
#' @export
size <- function(x) UseMethod('size')
#' @export
size.default <- function(x) "I dunno"
#' @export
#' @S3method size matrix
size.data.frame <-
size.matrix <- function(x) prod(dim(x))
#' @export
#' @S3method size character
size.factor <-
size.character <- function(x) length(x)
#' @export
#' @S3method size integer
size.double <-
size.integer <- function(x) sum(x)
@S3method
非推奨のディレクティブを使用せずに、行列、文字、および整数メソッドをエクスポートする方法がわかりません。非推奨のディレクティブを使用せずにこれらのメソッドをエクスポートする方法はありますか?
ありがとう!