带函数参数的R函数

带函数参数的R函数,r,function,user-defined-functions,R,Function,User Defined Functions,我需要编写一个带有函数参数的函数,它将稍微修改函数并返回修改后的函数 到目前为止,我得到的是 discriminant.functions <- function(priordist1,PC1) { g1 <- PC1*match.fun(priordist1) return(g1) } 我对R不是很有经验,所以我不知道是否有明显的方法可以做到这一点,看起来应该很简单。非常感谢您的帮助 match.fun用于检查参数是否为函数,您需要在此处调用函数。直接func(…)或使

我需要编写一个带有函数参数的函数,它将稍微修改函数并返回修改后的函数

到目前为止,我得到的是

discriminant.functions <- function(priordist1,PC1)
{
  g1 <- PC1*match.fun(priordist1)
  return(g1)
 }

我对R不是很有经验,所以我不知道是否有明显的方法可以做到这一点,看起来应该很简单。非常感谢您的帮助

match.fun
用于检查参数是否为函数,您需要在此处调用函数。直接func(…)或使用
do.call
如下:

 ## use ... for extra func arguments
 discriminant.functions <- 
 function(func,PC1,...){
  match.fun(func)   ## check if func s a function
  function(...) PC1* do.call(func,list(...))
}

@Caterina,查看
outer
(只需在控制台上键入“outer”,不带括号)的代码也可能有帮助。它展示了如何使用
match.fun
验证函数,然后如何以安全的方式将变量提供给函数。
 ## use ... for extra func arguments
 discriminant.functions <- 
 function(func,PC1,...){
  match.fun(func)   ## check if func s a function
  function(...) PC1* do.call(func,list(...))
}
mult2 <- discriminant.functions ("*",2)
mult2(5,4)
[1] 40