如何编写使用其他 R 函数作为参数的 R 函数?

How to write a R function that uses other R functions as arguments?

这是我必须要写的函数。它接受一个函数作为参数和数据。

evaluate <- function(func, dat){},输出应该如下所示:

  1. evaluate(sum, c(2, 4, 6)) 应计算为 12
  2. evaluate(median, c(7, 40, 9)) 应计算为 9
  3. 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))
}