R에는 기본적으로 for, while, repeat 같은 반복문이 있습니다.
예를 들어 1에서 5까지 숫자를 출력하는 명령어를 생각해 봅시다. for 함수를 이용해서 for (i in 데이터) 아래 print 명령어를 사용하면 가능합니다.
> for(i in 1:5){
print(i)
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
i는 명령어를 받을 객체입니다. for 문으로 지시할 명령은 물론 더 복잡할 수 있습니다. 1에서 5까지의 숫자를 제곱한 결과를 출력하는 문장을 생각해 봅시다.
> for(i in 1:5){
x<-i p="">
print(x)
}
[1] 1
[1] 4
[1] 9
[1] 16
[1] 25
조건이 참인 경우 실행하는 while 문의 경우 다른 방식으로 1에서 5까지 수를 출력합니다.
i<-1 p="">
-i>
while(i<6 p="">
-1>
print(i)
i <- i="" p="">
6>
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
i가 6보다 작으면 출력을 하는 방식이라는 점을 알 수 있습니다. 따라서 매번 i에 1을 더한 후 5까지 출력하게 되는 것이죠. 물론 이 명령도 i에 여러 가지 다른 방식을 출력하도록 명령어를 더 길게 쓸 수 있습니다.
마지막으로 repeat 역시 같은 명령을 반복하지만, 그렇기 때문에 명령어를 끝내도록 break를 넣어주어야 합니다.
> i<-1 p="">
->
> repeat {
print(i)
if(i>=5){
break
}
i <- i="" p="">
-1>
}
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
repeat 다음에 {}를 열어 프린트 명령어만 넣어주면 당연히 프린트를 무한 반복하게 됩니다. 따라서 빠져나가는 조건을 만들어야 합니다. if(i>=5)에서 그 조건은 5 이상으로 했습니다. i가 6이 되면 명령이 종료되게 한 것이죠. 아니면 아래로 내려가서 i<-1 i="" nbsp="" p="">
-1>
->
다음부터는 실제 데이터를 가지고 처리하는 내용으로 넘어가겠습니다.
댓글
댓글 쓰기