在R

时间:2017-07-17 10:11:01

标签: r loops matrix 3d

想象一下,我有两个观察到的变量,兴趣和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循环。

有什么建议吗?

感谢。

0 个答案:

没有答案
相关问题