gpt4 book ai didi

r - "unused arguments"使用方法时出错

转载 作者:行者123 更新时间:2023-12-05 01:05:21 27 4
gpt4 key购买 nike

这对我来说真是个谜。我已经这样定义了我的方法(对于类“graf”):

addStatistics <- function(x) UseMethod("addStatistics")
addStatistics.graf <- function (x, stat_name = NULL, value = NULL)
{
if (stat_name == "env_coef_delta_mnll") {
x$env_coef_delta_mnll <- value
}
x
}

我这样调用方法,但出现错误:

addStatistics(m, "env_coef_delta_mnll", 0)
#Error in addStatistics(m, "env_coef_delta_mnll", 0) :
# unused arguments ("env_coef_delta_mnll", 0)

为什么该方法不接受那些提供的参数并说它们“未使用”?

最佳答案

这是解决问题的方法。显然您正在创建一个 setter 函数,所以我将稍微更改一下泛型。

`addStatistics<-` <- function(x, ...) UseMethod("addStatistics<-")
`addStatistics<-.graf` <- function (x, stat_name = NULL, value = NULL)
{
if (stat_name == "env_coef_delta_mnll") {
x$env_coef_delta_mnll <- value
}
x
}

as.graf <- function(x){
class(x) <- "graf"
x
}
x <- as.graf(list())

addStatistics(x, "env_coef_delta_mnll") <- 1234
x
#$env_coef_delta_mnll
#[1] 1234
#
#attr(,"class")
#[1] "graf"

关于r - "unused arguments"使用方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60327087/

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