如何编写使用其他 R 函数作为参数的 R 函数?
How to write a R function that uses other R functions as arguments?
这是我必须要写的函数。它接受一个函数作为参数和数据。
evaluate <- function(func, dat){}
,输出应该如下所示:
evaluate(sum, c(2, 4, 6))
应计算为 12
evaluate(median, c(7, 40, 9))
应计算为 9
evaluate(floor, 11.1)
应计算为 11
我对如何编写这个函数感到困惑。
任何提示都有帮助!谢谢
您可以使用 do.call
:
evaluate <- function(fun, args){
do.call(fun, args)}
但是args
必须是一个列表:
evaluate(sum, list(c(2, 4, 6)))
你可以试试这个:
evaluate <- function(FUN, dat){
return(FUN(dat))
}
这是我必须要写的函数。它接受一个函数作为参数和数据。
evaluate <- function(func, dat){}
,输出应该如下所示:
evaluate(sum, c(2, 4, 6))
应计算为 12evaluate(median, c(7, 40, 9))
应计算为 9evaluate(floor, 11.1)
应计算为 11
我对如何编写这个函数感到困惑。
任何提示都有帮助!谢谢
您可以使用 do.call
:
evaluate <- function(fun, args){
do.call(fun, args)}
但是args
必须是一个列表:
evaluate(sum, list(c(2, 4, 6)))
你可以试试这个:
evaluate <- function(FUN, dat){
return(FUN(dat))
}