Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

천선생의 삶

[R] 반복문 활용하기 - for, while 본문

Data Analysis/R Basic

[R] 반복문 활용하기 - for, while

천선생 2019. 7. 11. 12:00

안녕하세요. 천선생입니다.

 

 이번 포스트에서는 지난 포스트에서 잠깐 말씀드렸던, 반복문에 대해서 알아보도록 하겠습니다.

반복문에는 크게 for 문 while 문 으로 나뉘는데요, 차이점을 알아보자면

for 문은 입력된 벡터의 길이만큼 반복하는 반면, while 문은 조건에 따라 반복하게 됩니다.

이로 인해 while 문은 반복횟수를 정확히 모를 때 사용하면 편리합니다.

 

- FOR?

 for문은 기본적으로 벡터를 주고, 벡터의 첫번째 값부터 마지막 값까지, 순서대로 실행하는 구문입니다.

기본 형태는 다음과 같습니다.

# for 구문의 기본형태
for (x in 벡터) {
  x(원소)를 활용한 실행 구문
}

 

개인적으로 반복문은 코딩을 통해서 이해하는 것이 가장 빠르고 편하다고 생각하므로, 예제코드를 풀어보겠습니다.

# for 구문을 활용한 간단한 예제 (누적합 계산)

sum <- 0 # sum의 초기값 지정
for (i in 1:10) {
  sum <- sum + i
  print(sum)
}
# [1] 1
# [1] 3
# [1] 6
# [1] 10
# [1] 15
# [1] 21
# [1] 28
# [1] 36
# [1] 45
# [1] 55

# for 구문 활용예제

data <- mtcars
colnames(data)
# [1] "mpg"  "cyl"  "disp" "hp"   "drat" "wt"   "qsec" "vs"   "am"   "gear" "carb"

for (col in colnames(data)) { # colnames : 데이터프레임에서 열이름을 모두 불러온다.
  print(col) # 내부 인자를 출력하는 함수
}
# [1] "mpg"
# [1] "cyl"
# [1] "disp"
# [1] "hp"
# [1] "drat"
# [1] "wt"
# [1] "qsec"
# [1] "vs"
# [1] "am"
# [1] "gear"
# [1] "carb"

 

- WHILE?

 while 문의 경우 앞에서 설명드린 것처럼, 주어진 조건에 따라서 반복하게 됩니다. 

기본 형태는 다음과 같습니다.

# while 구문의 기본 형태
while (조건문) {
  조건문의 반환값이 TRUE일때, 수행할 실행구문
}

 

 while 문도 간단한 예제를 통하여 이해해보도록 하겠습니다.

# while 구문을 활용한 간단한 예제 (누적합 계산)
i <- 0 #초기값 지정
while (i <= 5) {
  print(i)
  i = i + 1 # i 값을 갱신해준다.
}
# [1] 0
# [1] 1
# [1] 2
# [1] 3
# [1] 4
# [1] 5

 

- 활용

 위의 예제만으로는 반복구문을 쉽게 받아들이시지 못하는 분들이 많을 것이라고 생각됩니다.

그러나 조건문과 더불어 반복문은 사용자정의 함수인 function 내부에 포함되었을 때 큰 힘을 발휘하게 됩니다!!

따라서 다음 포스트에서 사용자정의 함수와 함께 실습을 하시면, 깊은 이해가 가능하실 겁니다.

조건문과 반복문의 간단한 내용을 참고하셔서, 다음 포스트에서 만나도록 하겠습니다!

Comments