1.9 흐름 제어와 반복 구문(Flow Control and loops)
R에서의 제어와 반복은 상당히 직접적이다(아래 참고). 코드 블럭이 실행될 지 여부와 반복 횟수를 결정한다. R에서의 코드 블럭은 중괄호({}
) 안에 위치한다.
## 흐름 제어 : if() 구문
# if (조건식) expr1 else expr2
<- 5; y <- 10
x
if (x==0) y <- 0 else y <- y/x #
y
## [1] 2
## 반복 구문 : for () 구문
# for (variable in sequence) expr
<- 0; AProd <- 1
ASum for (i in 1:x)
{<- ASum + i
ASum <- AProd * i
AProd
}# sum(1:x)과 같음 ASum
## [1] 15
# prod(1:x)과 같음 AProd
## [1] 120
## 반복 구문 : while () 구문
# while (condintion) expr
while (x > 0) {print(x); x <- x-1;}
## [1] 5
## [1] 4
## [1] 3
## [1] 2
## [1] 1
## 반복 구문 : repeat() 구문
# repeat expr, use break to exit the loop
repeat { print(x); x <- x+1; if (x>10) break}
## [1] 0
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10