【发布时间】:2018-03-07 05:24:00
【问题描述】:
我已经阅读了以下两个讨论:
Roxygen2 - how to properly document S3 methods
S3 method consistency warning when building R package with Roxygen
以及以下两个教程:
http://cran.r-project.org/doc/manuals/R-exts.html#Generic-functions-and-methods
http://adv-r.had.co.nz/S3.html,
但我的问题仍然没有解决。以下是详细信息:
我想在一个包中定义一个 plot() 泛型的 S3 方法,我的代码是:
#' description
#'
#' more details
#'
#' @param x "test" object
#' @param label parameter one
#' @param log parameter two
#' @param ... graphical parameters to plot
#'
#' @examples
#' plot(a)
#'
#' @export
plot <- function(x, label=TRUE, log=TRUE, ...){
UseMethod("plot")
}
#' @export
plot.test <- function(x, label=TRUE, log=TRUE, ...){
# some code
}
运行devtools::check()后,我会收到以下警告:
checking S3 generic/method consistency ... WARNING
plot:
function(x, log, ...)
plot.test:
function(x, label, log, ...)
See section ‘Generic functions and methods’ in the ‘Writing R
Extensions’ manual.
好像参数label消失了,我尝试交换参数log和label的位置,x后面的任何参数都会在function(x, log, ...)行中消失,请问如何解决?
【问题讨论】: