使用前一循环的结果作为下一循环的输入

时间:2017-03-08 02:18:17

标签: r for-loop

我有下面的代码,它似乎完成了我正在尝试做的事情,但也会抛出代码下面显示的错误输出。我正在尝试做的是,第一次用x = 1运行循环,然后每次循环运行之后,我想要x = y,前一个循环的结果。我总是摸索着循环,所以任何提示都非常感激。

Code:

for(i in 1:5)
{ 
 if(i=1)
 {
 x<-1
 }
 else
 {
 x<-y
 }
 y<-x*i
 y
 }


ERRORS:

 for(i in 1:5)
+ { 
+   if(i=1)
Error: unexpected '=' in:
  "{ 
    if(i="
   >   {
   +   x<-1
   +   }
    >   else
   Error: unexpected 'else' in "  else"
   >   {
   +   x<-y
  +   }
   >   y<-x*i
   >   y
   [1] 25
   > }
   Error: unexpected '}' in "}"

1 个答案:

答案 0 :(得分:0)

这是用稍微清晰的语法重写的代码

for (i in 1:5) {
    if (i == 1) {
        x <- 1
    } else {
        x <- y
    }
    y <- x * i
}

甚至更好的语法。

for (i in 1:5) {
    x <- ifelse(i == 1, 1, y)
    y <- x * i
}