gpt4 book ai didi

r - 将包装函数内的可选参数传递给子函数

转载 作者:行者123 更新时间:2023-12-04 10:37:39 25 4
gpt4 key购买 nike

我有一个包装函数,我需要将可选参数传递给指定的子函数。但是有太多不同的可能子功能,我无法预先指定它们。
作为引用,子功能存在于环境等......
考虑:

funInFun<- function (x, method, ...) {    

method.out <- function(this.x, FUN, ...) {
FUN <- match.fun(FUN)
c <- FUN(this.x, ...)
return(c)
}

d <- method.out(x, method)
return(d)
}

data<-seq(1,10)
funInFun(data, mean) # Works

data<-c(NA,seq(1,10))
funInFun(data, mean, na.rm=TRUE) # Should remove the NA

funInFun(c(seq(1,10)), quantile, probs=c(.3, .6)) # Shoudl respect the probs option.

最佳答案

您需要通过 ...method.out .然后它工作正常:

funInFun<- function (x, method, ...) {    

method.out <- function(this.x, FUN, ...) {
FUN <- match.fun(FUN)
c <- FUN(this.x, ...)
return(c)
}

d <- method.out(x, method, ...) # <<--- PASS `...` HERE
return(d)
}

data<-seq(1,10)
funInFun(data, mean) # Works
# [1] 5.5

data<-c(NA,seq(1,10))
funInFun(data, mean, na.rm=TRUE) # Should remove the NA
# [1] 5.5

funInFun(c(seq(1,10)), quantile, probs=c(.3, .6))
# 30% 60%
# 3.7 6.4

关于r - 将包装函数内的可选参数传递给子函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18323340/

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