如何传递 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 中的基函数,因此最好为变量使用其他名称。