想象一下,我有两个观察到的变量,兴趣和M2,长度都是1000。
我正在尝试应用每个感兴趣的观察函数和M2来生成称为PCoCo的值矩阵。矩阵的长度为1000x1000。
目的是生成x = interest,y = M2,z = PCoCo的3D曲面图。
我有以下代码:
#Creating a matrix from 2 variables; interest, M2, and a function CoCo.Price.
interest = seq(0,0.1, length = 1000)
M2 = seq(0,10, length = 1000)
#PCoCo = price of the coco, should be a matrix
PCoCo = matrix(nrow=length(interest), ncol=(M2))
f = function(interest, M2){
for(i in 1:length(interest)){
for(j in 1:length(M2)){
PCoCo[j,i] = CoCo.Price(C.p, c.r, m, N, q, interest[i], S, S.Trigger,
sigma, M2[j])
}
}
}
z = outer(interest, M2, f)
在运行f:
之前,我曾经将PCoCo指定为矩阵之前得到以下错误Error in PCoCo[j, i] <- matrix(CoCo.Price(C.p, c.r, m, N, q, interest[i], :
incorrect number of subscripts on matrix
现在,我没有,但是R需要很长时间来计算矩阵。
我已经尝试将尺寸缩小到100x100但仍然需要很长时间。
问题可能出在CoCo.Price函数上,因为它是一个100行的函数,里面还有一些foor循环。
有什么建议吗?
感谢。