全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
5142 9
2015-04-26
里面的p我是直接按[x,j]调用矩阵里面的数据的,但是写循环就会出问题。。。我写了一个。。。但是怎么都出问题。。。想问问为什么?怎样改正呢?
I<-function(x,y,z,r1,r2,A1,A2,A3){
C2<-matrix()
for(m in 1:(55-j-x)){
   for(j in (21-z):105){
      C2[m,j]=(c[z,j]-c[z,j+1])*(b[y,m+j]-b[y,m+j+1])*a[x,j]*A2/((1+r2)^(j+m+1))
   }
}
sum(C2)}
I(30,30,5,0.025,0.035,120000,80000,200000)


a、b、c都是生命表矩阵
附件列表
保险.jpg

原图尺寸 28.96 KB

保险.jpg

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-4-26 19:11:36
你这两个for是不是写反了?你这样写第一个的j没定义啊……
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-26 20:54:16
waxxyeah 发表于 2015-4-26 19:11
你这两个for是不是写反了?你这样写第一个的j没定义啊……
我换了一下 顺序,但是还是报错,这种错误要怎么改呢?
附件列表
出错.jpg

原图尺寸 18.61 KB

出错.jpg

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-27 15:27:14
xhcy23 发表于 2015-4-26 20:54
我换了一下 顺序,但是还是报错,这种错误要怎么改呢?
R里数组下标是从1开始。你的公式里的m,j都是从0开始,所以会出现问题。
不讲寿险精算好几年了,看到公式很亲切
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-27 16:06:37
都告诉你下标出界了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-4-27 21:23:12
nuomin 发表于 2015-4-27 15:27
R里数组下标是从1开始。你的公式里的m,j都是从0开始,所以会出现问题。
不讲寿险精算好几年了,看到公式 ...
可是我程序里面m、j都不是从零开始的啊。。。我把公式里面的0都舍弃了,直接从0之后的算的。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群