R中具有for循环的矩阵

时间:2018-07-14 09:56:42

标签: r matrix

我在R中有以下代码

    M <- matrix(NA, nrow = length(27:45), ncol = 2)
colnames(M) <- c("Age", "Whole Life Insurance Benefits")
i<-1
for (i in seq(27, 45, by=1)) {
  M[i,1]<- i
  M[i,2]<- Axn(actuarialtable = lc.lifetable, x=i)
  i<-i+1
}
M

当我运行它时,出现错误subscript out of bounds 但是,如果我更改nrow=length(0:45),它可以正常运行,但是矩阵中有很多NA。你能告诉我怎么了吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您的代码中有2个问题:

  

1。 nrow=length(27:45) ,您只有 19 行,但是您在 if中的顺序功能从 27 开始不存在   在矩阵中,您必须从 1 开始。

     

2。。当您使用 if 功能时,如果您插入 {{ 1}} 在您的循环计数器中   总和为 2 ,您也可以使用 i<-i+1 代替    1:19

这里是正确且简单的代码:

seq(1,19,by=1)