gpt4 book ai didi

r - 如何从联合函数中获取 match.call()?

转载 作者:行者123 更新时间:2023-12-01 03:07:37 25 4
gpt4 key购买 nike

我有三个函数,一个函数是通过使用 useMethod() 由另外两个函数组成的。

logReg <- function(x, ...) UseMethod("logReg")
logRec.numeric <- function(x, y) {
print(x)
}
logReg.formula <- function(formula, data) {
print(formula)
}

我的功能有点复杂,但对我的问题无关紧要。我希望 logReg 给我额外的原始函数调用作为输出(不是 logReg.numeric 或 logReg.formula 的函数调用)。我的第一次尝试是:
logReg <- function(x, ...) {
out <- list()
out$call <- match.call()
out
UseMethod("logReg")
}

但它不起作用。有人可以给我一个提示如何解决我的问题吗?

最佳答案

这是另一种方式:

logReg <- function(x, ...) {
logReg <- function(x, ...) UseMethod("logReg")
list(logReg(x,...), call=match.call())
}

res <- logReg(1,2)
# [1] 1

res
# [[1]]
# [1] 1
#
# $call
# logReg(x = 1, 2)
#

如果你愿意,你也可以让它与属性一起工作。

关于r - 如何从联合函数中获取 match.call()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55196061/

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