如何传递 UDF 的输入参数以应用
How to pass an input parameter for a UDF to sapply
我有一个值向量和一个具有多个参数的用户定义函数。我想将我的 UDF 应用于此向量中的每个值,而此向量中的每个条目也是 UDF
的输入参数
t <- 1:5
myfunc <- function (setvar, var){
return(setvar * var)
}
sapply(t, myfunc(setvar = 2), var = t)
所以在这种情况下,我想要的结果是:
2 4 6 8 10
你可以
sapply(t, myfunc, setvar = 2)
#[1] 2 4 6 8 10
或者使用匿名函数来了解您传递的到底是什么
sapply(t, function(x) myfunc(2, x))
此外 t
是 R 中的基函数,因此最好为变量使用其他名称。
我有一个值向量和一个具有多个参数的用户定义函数。我想将我的 UDF 应用于此向量中的每个值,而此向量中的每个条目也是 UDF
的输入参数t <- 1:5
myfunc <- function (setvar, var){
return(setvar * var)
}
sapply(t, myfunc(setvar = 2), var = t)
所以在这种情况下,我想要的结果是:
2 4 6 8 10
你可以
sapply(t, myfunc, setvar = 2)
#[1] 2 4 6 8 10
或者使用匿名函数来了解您传递的到底是什么
sapply(t, function(x) myfunc(2, x))
此外 t
是 R 中的基函数,因此最好为变量使用其他名称。