用于R studio中的函数

用于R studio中的函数,r,for-loop,R,For Loop,有人能解释一下为什么这个代码会导致15个错误吗 k<-0 for(i in 1:3){ k<-k+1 for(j in 1:2){ k<-k+2 } } k它的作用是: k因为为(1:3中的i)写入意味着“对1和3之间的每个值执行以下操作,如果遇到字母i,则用该值替换它”。碰巧,i和j都不会出现在循环体中,但这并不会阻止循环的执行 因此,代码扩展为: k所以有三个循环i,每个循环运行两个循环j: in i = 1 0 + 1 = 1; then j=1,

有人能解释一下为什么这个代码会导致15个错误吗

k<-0
for(i in 1:3){
  k<-k+1
  for(j in 1:2){
    k<-k+2
  }
}

k它的作用是:

  • k因为为(1:3中的i)写入
    意味着“对1和3之间的每个值执行以下操作,如果遇到字母i,则用该值替换它”。碰巧,i和j都不会出现在循环体中,但这并不会阻止循环的执行

    因此,代码扩展为:


    k所以有三个循环i,每个循环运行两个循环j:

    in i = 1
     0 + 1 = 1; then j=1, you have 1+2=3 and j=2, you have 3+2=5 ==> k is now 5
    
    in i = 2
      5 + 1 = 6; then j=1, you have 6+2=8 and j=2, you have 8+2=10 ==> k is now 10
    
    in the 3rd loop, i = 3,
     10+1=11; then j=1 gives you 11+2 =13 and j=2 gives 13+2=15 ==> hence k is 15
    

    这是全部进展

    i = 1: k <- k + 1 gives 1
    j = 1: k<-k+2 gives 3
    j = 2: k<-k+2 gives 5
    
    i = 2: k <- k + 1 gives 6
    j = 1: k<-k+2 gives 8
    j = 2: k<-k+2 gives 10
    
    i = 3: k <- k + 1 gives 11
    j = 1: k<-k+2 gives 13
    j = 2: k<-k+2 gives 15
    
    i=1:k内环,即

      for(j in 1:2){
        k<-k+2
      }
    
      k<-k+1
      for(j in 1:2){
        k<-k+2
      }
    
    for(1:2中的j){
    
    kNice回答,Allan。它将循环展开为迭代步骤,清楚地(我认为)显示正在发生的事情。