300x250
- 반복문
R에서는 vector, list, data.frame의 원소에 대한 반복적인 연산이 필요할 때마다 loop을 이용하기보다는 벡터화를 사용하는 것이 더 효율적이다. 그러나 때때로 루프 사용이 불가피할 경우, for문과 while 반복문을 사용할 수 있다.
1. for 루프
for 루프는 vector로 제공된 인덱스에 대해 반복하고, 지정된 동작을 수행한다.
for( i in 1:10){
action
}
→ 1:10까지 총 10번을 반복하며 action을 수행하는 for 문의 선언이다. 1:10이 들어가는 세번째 인자 자리에는 임의의 형을 가지는 vector가 들어갈 수 있으며, 대부분 numeric이나 character 형을 가진다.
R의 내장된 벡터화는 for loop과 동일한 기능을 훨씬 효율적인 코딩으로 수행한다.
2. while 루프
while 루프는 테스트되는 조건이 참인 동안 중괄호 안의 코드를 실행한다(무한 루프도 가능ㅋㅋㅋ).
ex) x값을 출력하고 x가 5에 도달할 때까지 이 과정을 반복한다.
x <- 1
while (x <= 5){
print(x)
x <- x+1
}
3. next와 break
next는 python의 continue와 같고, break는 그냥 똑같다. if 문이랑 같이 쓰이는데, next는 이번 단계를 건너뛰고 다음 단계로 넘어가는 데 쓰이고 break는 반복문을 탈출시키는 명령어다.
+) Nested loop은 웬만하면 쓰지 말자. 연산이 너무 복잡해진다.
300x250
'프로그래밍 > R ' 카테고리의 다른 글
[R] 반복문 없이 반복하기 (0) | 2019.06.27 |
---|---|
[R] 데이터 읽어오기(read) & 데이터 기록하기(write) (0) | 2019.06.20 |
[R] 제어문(if, if~else if~, switch, ifelse) (0) | 2019.06.12 |
R에서 함수 정의하기, 콜하기 (0) | 2019.06.12 |
R에서 데이터 추출(데이터에서 하위 구조 데이터 추출), 치환 및 삽입하기 (0) | 2019.06.12 |