首页 > 解决方案 > 记录现有泛型的新 S4 方法

问题描述

我想为plot泛型记录一种新方法。问题是,如何为标准泛型记录新方法。

跑步时

devtools::check(document = FALSE)

我收到警告:

Undocumented S4 methods:
     generic 'plot' and siglist 'my_new_class'

这是我的代码(R 4.0.3,roxygen2 7.1.1):

#' Plot a new class
#' 
#' Dummy text
#' 
#' @param x An object of class \code{\link{my_new_class}}.
#' @param y Not used.
#' @param ... Plot parameters forwarded.
#' @return A plot object.
#' @export
methods::setMethod("plot",
                   c(x="my_new_class"),
                   function(x, ...){
                     new_plot_func(x)
                   })

我已经看过以下类似的帖子,但无法适应我的问题:

绘图的新方法 - 如何导出?

如何使用 roxygen 正确记录 S4“[”和“[<-”方法?

我已经尝试过使用@rdnameand @alias

标签: rs4roxygen2roxygen

解决方案


我自己找到了问题的答案,它在devtools::check(document = FALSE)没有警告的情况下运行。

#' Plot a new class
#' 
#' Dummy text
#' 
#' @param x An object of class \code{\link{my_new_class}}.
#' @param y Not used.
#' @param ... Plot parameters forwarded.
#' @return A plot object.
#' @export
methods::setMethod("plot",
                   c(x="my_new_class", y="missing"),
                   function(x, y, ...){
                     new_plot_func(x, ...)
                   })

显然,现有泛型中未使用的参数必须设置"missing"setMethod.


推荐阅读