gpt4 book ai didi

r - 检查 S3 通用/方法一致性......警告

转载 作者:行者123 更新时间:2023-12-03 16:41:03 24 4
gpt4 key购买 nike

我已经阅读了以下两个讨论:
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 ,
但我的问题仍然没有解决。以下是详细信息:
我想在一个包中定义一个 S3 的 plot() 泛型方法,我的代码是:

#' 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, ...) ,那么如何解决这个问题?

最佳答案

您在使用 plot()以泛型函数为例,还是实际上是您的代码?

如果是后者,我认为是因为 plot()是一个带有三个参数的基本 R 函数:x、y 和 ...。要让您自己的 s3 方法通过检查,无需重新定义您自己的泛型,而且您的 s3 方法必须遵循与基本 R 泛型完全相同的参数。

关于r - 检查 S3 通用/方法一致性......警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49144680/

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