목차
- for 반복문 정의
- break 키워드
- next 키워드
- for 반복문과 if...else... 조건문 결합
- 중첩 for 반복문
for 반복문 정의
반복 횟수가 정해진 경우 주로 사용.
※ 데이터 집합의 각 요소에 대해 반복 실행할 때 유용.
※ while 반복문과 달리, for문은 초기값 설정 불필요.
[예제1] - 1~5 반복
for (x in 1:5) {
print(x)
}
PS.
절차함수형 for문보단 객체지향형의 반복 메서드와 유사하게 작동함.
(∴ vector, list, Matrices, array 등 각 요소에 대해 반복 실행 가능.
[예제2] - lists 반복
langs <- list("HTML", "CSS", "JS")
for (x in langs) {
print(x)
}
결과값:
[1] "HTML"
[1] "CSS"
[1] "JS"
[예제3] - vector 반복
vectors <- c(1, 2, 3, 4, 5)
for (x in vectors) {
print(x)
}
결과값:
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
break 키워드
지정 조건일 때 반복문 탈출. (= 반복 중단)
[예제]
langs <- list("HTML", "CSS", "JS")
for (x in langs) {
if (x == "CSS") {
break
}
print(x)
}
결과값:
[1] "HTML"
next 키워드
지정 조건만 건너뛰고, 다음 조건부터 계속 반복.
[주의] 타 언어는 보통 continue 키워드 사용하나, R은 next 키워드 사용.
[예제]
langs <- list("HTML", "CSS", "JS")
for (x in langs) {
if (x == "CSS") {
next
}
print(x)
}
결과값:
[1] "HTML"
[1] "JS"
for 반복문과 if...else... 조건문 결합
[예제]
nums <- 1:5
for (x in nums) {
if (x == 5) {
print(paste(x, "끝 O"))
} else {
print(paste(x, "끝 X"))
}
}
결과값:
[1] "1 끝 X"
[1] "2 끝 X"
[1] "3 끝 X"
[1] "4 끝 X"
[1] "5 끝 O"
중첩 for 반복문
반복문이 중첩된 경우에 해당.
※ 외부 반복문의 각 요소마다 내부 반복문이 1회씩 실행됨.
※ (예) 구구단: 1단(1~9), 2단(1~9), .....9단(1~9)
[예제]
langs <- list("HTML", "CSS", "JS")
levels <- list("초급", "중급", "고급")
for (x in langs) {
for (y in levels) {
print(paste(x, y))
}
}
결과값:
[1] "HTML 초급"
[1] "HTML 중급"
[1] "HTML 고급"
[1] "CSS 초급"
[1] "CSS 중급"
[1] "CSS 고급"
[1] "JS 초급"
[1] "JS 중급"
[1] "JS 고급"