1

假设我将数据 X、一个 nxm 矩阵和一个 n 向量时间输入到一个函数中。在这个函数中我想创建函数

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

. . .

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

理想情况下,如果有类似 apply 的东西可以应用 approxfun,那就太好了,但我无法申请工作。我研究过粘贴和解析,但有人告诉我,R 的主要租户是避免解析。List 似乎很有希望,因为你可以制作一个函数列表,如果有一个函数像 rbind 或 cbind 一样在矩阵上只对可能起作用的列表起作用,但是因为 m 是任意的,所以我有点卡在这里。如果以前有人问过类似的问题而我错过了,我真的很抱歉。

4

1 回答 1

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))
}
于 2013-07-11T20:51:40.147 回答