我想实现一个通用函数:
call_with_parameters <- function(func, parameters) {
call func with parameters and return result
}
使用参数列表调用给定函数 func (作为参数给出),因此func必须无法处理泛型参数(如... )。作为回复电话
例如,将mean(x=1:4, na.rm=TRUE)
称为
call_with_parameters(mean, list(x=1:4, na.rm=TRUE))
有什么建议吗?
答案 0 :(得分:3)
我认为,您正在寻找do.call
来构建函数调用。
该函数构造调用并立即对其进行评估(您也可以使用call
来构造调用,并稍后使用eval
(例如)对其进行评估。 do.call
接受论证
来自模式“list”的对象,其中包含要评估的函数的所有参数。例如:
do.call("mean", list(x=1:4,na.rm=TRUE))
相当于:
mean(x=1:4,na.rm=TRUE)