2017-03-08 105 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