带函数参数的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