R中的基本“for循环”

时间:2015-09-20 03:15:16

标签: r loops for-loop

我有一个关于for循环的基本问题但是我无法理解。这是我的代码。

i<-0
z<-numeric(6)
for(i in 1:5){
i<-i+1
z[i]<-i
}

我希望输出为

>z
[1] 1 2 3 4 5 6

但它生成了

>z
[1] 0 2 3 4 5 6

为什么?

1 个答案:

答案 0 :(得分:2)

您的循环设置以下值,按迭代细分:

  1. i<-1
     i<-2
     z[2]<-2
  2. i<-2
     i <-3
     z[3]<-3

  3. ...

  4. ...

  5. i<-5
     i<-6
     z[6]<-6

  6. 如您所见,z[1]永远不会设置,因为您在将i用作索引之前会增加z[i]<-i。将循环更改为1,而不是其他任何内容。另外,如果要设置6元素,请将循环设置为从56而不是z<-numeric(6) for(i in 1:6){ z[i]<-i }

    {{1}}