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

관련 문제