如何编写任意数量的函数列表

时间:2013-07-11 20:47:10

标签: r

假设我有一个数据X,一个n×m矩阵和一个n矢量时间,它被输入函数。在这个函数中我想创建函数

fun1 = approxfun(time, X[,1], rule=2)
fun2 = approxfun(time, X[,2], rule=2)

。 。

funm = approxfun(time, X[,m], rule=2)

理想情况下,如果有类似应用的东西可以应用近似,那将是很好但我无法申请工作。我已经研究了粘贴和解析但我被告知R的主要租户是为了避免解析。列表看起来很有希望,因为你可以创建一个函数列表,如果有一个像rbind或cbind这样的函数在矩阵上只对可能有诀窍的列表做了,但因为m是任意的,我有点卡在这里。我真的很抱歉,如果之前有过类似的问题,我就错过了。

1 个答案:

答案 0 :(得分:5)

我不知道你在apply出了什么问题,它应该可以正常工作

x <- matrix(rnorm(40), ncol=4)
time <- 1:10

lfun <- apply(x, 2, approxfun, x = time, rule = 2, method="linear")

# using those functions in plots
time2 <- seq(1, 10, length=100)
par(mfrow=c(2,2))
for(ii in 1:4){
  plot(time, x[,ii])
  lines(time2, lfun[[ii]](time2))
}