반복문에는 크게 for 문과 while 문 으로 나뉩니다.
차이점을 알아보자면 for 문은 입력된 벡터의 길이만큼 반복하는 반면, while 문은 조건에 따라 반복하게 됩니다.
이로 인해 while 문은 반복횟수를 정확히 모를 때 사용하면 편리합니다.
1) 반복문 - for
for(변수 in 값){표현식} - 단일문 { } 생략 가능
- for문은 기본적으로 벡터를 주고, 벡터의 첫번째 값부터 마지막 값까지, 순서대로 실행하는 구문입니다.
예제 ①
i <- c(1:10)
i
결과값 : [1] 1 2 3 4 5 6 7 8 9 10
d <- numeric() : d변수를 numeric으로 setting , 빈 vector(숫자)
for(n in i){ : 10회 반복
print (n*10)
print (n)
d[n] <- n*2
}
결과값 :
[1] 10
[1] 1
[1] 20
[1] 2
[1] 30
[1] 3
[1] 40
[1] 4
[1] 50
[1] 5
[1] 60
[1] 6
[1] 70
[1] 7
[1] 80
[1] 8
[1] 90
[1] 9
[1] 100
[1] 10
d
결과값 : [1] 2 4 6 8 10 12 14 16 18 20
예제 ②
for(n in i){
if(n %% 2!=0){
print(n) # %% : 나머지 값 - 홀수만 출력.
}
}
출력값:
[1] 1
[1] 3
[1] 5
[1] 7
[1] 9
for(n in i){
if(n %% 2==0){
print(n) # %% : 나머지 값 - 짝수만 출력.
}
}
출력값:
[1] 2
[1] 4
[1] 6
[1] 8
[1] 10
예제 ③
next : 다음 문장장 skip 하고 for문으로 올라가서 수행하라 -> 반복문 계속 (자바의 continue 키워드와 동일.)
for(n in i){ # 결과적으로 홀수값만 출력. - java의 for, each 문과 동일
if(n %% 2==0){
next
}else{
print(n) # %% : 나머지 값 - 홀수만 출력
}
}
결과값:
[1] 1
[1] 3
[1] 5
[1] 7
[1] 9
예제 ④
- 벡터 데이터 사용
score <- c(85,95,98)
name <- c("홍길동" , "이순신" , "강감찬")
i <- 1 # 첨자로 사용되는 변수
for(s in score){
cat(name[i],"->" , s, "\n")
i <- i+1
}
출력값:
홍길동 -> 85
이순신 -> 95
강감찬 -> 98
2) 반복문 - while
(logical 값){ }
- while 문의 경우 앞에서 설명드린 것처럼, 주어진 조건에 따라서 반복하게 됩니다.
- 무한반복 되지 않도록 만들어야 합니다.
예제 ①
- while 구문을 활용한 간단한 예제
i = 0
while(i < 10){
i <- i+1
print(i)
}
출력값:
[1] 1
[1] 2
[1] 3
[1] 4
[1] 5
[1] 6
[1] 7
[1] 8
[1] 9
[1] 10
'빅데이터 > R' 카테고리의 다른 글
[R] 주요 내장 함수 (0) | 2020.07.01 |
---|---|
[R] 사용자 정의 함수 (0) | 2020.06.30 |
[R] 조건문 ( if 문, ifelse문 , swich문 , which문 ) (0) | 2020.06.29 |
[R] 연산자 (0) | 2020.06.27 |
[R] 데이터 출력 , 저장하기 (0) | 2020.06.27 |