如何传递输入参数以使UDF顺利应用

时间:2019-02-04 10:31:26

标签: r user-defined-functions 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

1 个答案:

答案 0 :(得分:1)

你可以做

sapply(t, myfunc, setvar = 2)
#[1]  2  4  6  8 10

或者使用匿名函数来了解您正在传递的内容

sapply(t, function(x) myfunc(2, x))

t也是R中的基函数,因此最好为变量使用其他名称。