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

関連する問題