2017-03-08 104 views
0

我有下面的代码,它似乎完成了我想要做的事情,但也抛出了代码下面显示的错误输出。我想要做的是,首次以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

你可能想如果(i == 1) – G5W

回答

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 
} 
+0

谢谢你做的伎俩。 – user3476463