申请R中的参考自定义函数

时间:2018-01-31 17:24:45

标签: r

我有一个名为mat的N x 2矩阵。

mat <- cbind(c(2:4), c(.5, 1, 1.5))
colnames(mat) <- c('x2', 'x3')

我在R中创建了一个名为calcCDF的函数。此函数需要3个输入x1,x2和x3。 x1默认为100000.实际的calcCDF函数更复杂。下面显示的只是为了说明这一点。

calcCDF <- function(x1=100000, x2, x3){
cdf <- x1 + x2 * x3
return(cdf)
}

calcCDF(x2=2, x3=0.5)返回值100001

我希望x2和x3分别用mat的第一列和第二列填充,并将该函数应用于mat的每一行,以便我得到一个长度为N的向量。

我尝试了apply(mat, 1, calcCDF(x2=mat[1], x3=mat[2])),但收到错误说明错误:意外']'。

1 个答案:

答案 0 :(得分:1)

如果您想将apply()与自定义函数calcCDF一起使用,可以使用

 apply(mat, 1, function(y) calcCDF(x2 = y[1], x3 = y[2]))

OR

 apply(mat, 1, function(x) calcCDF(x2 = x["x2"], x3 = x["x3"]))