Translate

2016년 10월 3일 월요일

R의 반복문








 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="">
 while(i<6 p="">
   print(i)
   i <- i="" p="">
 }
[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] 2
[1] 3
[1] 4
[1] 5


 repeat 다음에  {}를 열어 프린트 명령어만 넣어주면 당연히 프린트를 무한 반복하게 됩니다. 따라서 빠져나가는 조건을 만들어야 합니다. if(i>=5)에서 그 조건은 5 이상으로 했습니다. i가 6이 되면 명령이 종료되게 한 것이죠. 아니면 아래로 내려가서 i<-1 i="" nbsp="" p="">


 다음부터는 실제 데이터를 가지고 처리하는 내용으로 넘어가겠습니다. 

댓글 없음:

댓글 쓰기