5.5 반복값을 갖는 벡터 만들기 : rep() 함수

데이터가 일정한 간격으로 증가/감소하거나(seq() 함수 이용), 같은 값이 반복되는 경우의 벡터를 생성할 수 있게 해주는 편리한 함수들이 있습니다.

먼저 반복적인 값을 가지는 벡터를 생성하는 rep() 함수에 대하여 살펴보겠습니다. 여기서 repreplicate(‘복제하다’ 라는 뜻)을 의미합니다.

rep() 함수의 형식은 다음과 같습니다.

형식 : rep(벡터, times|each = )

  • times ; 벡터의 복제 횟수 지정
  • each : 벡터요소 각각의 복제 횟수 지정
x <- c(1, 2, 3)

#  벡터 전체의 반복 횟수의 지정 : `times =
x1 <- rep(x, times=2); x1             # 벡터 x를 2번 복제합니다.
## [1] 1 2 3 1 2 3
x2 <- rep(1:4, 2) ; x2                # times = 를 생략해도 됩니다.
## [1] 1 2 3 4 1 2 3 4
# 요소별로 복제 횟수의 지정 : each =
x3 <- rep(x, each=2); x3              # 벡터 x의 각 요소별로 각각 2번씩 복제합니다.
## [1] 1 1 2 2 3 3
x4 <- rep(1:4, each = 2) ; x4         # 'each ='는 생략할 수 없습니다.
## [1] 1 1 2 2 3 3 4 4
# 요소별 상이한 복제 횟수의 지정
x5 <- c(3, 5, 2, 4, 6, 8)
x6 <- rep(x5, c(2, 3, 1, 1, 3, 4)) ; x6    
##  [1] 3 3 5 5 5 2 4 6 6 6 8 8 8 8
x7 <- rep(x5, rep(c(2, 1), 3)) ; x7       
## [1] 3 3 5 2 2 4 6 6 8

위의 예에서는 rep() 함수의 첫번째 인수를 모두 숫자형 벡터로 하였으나, 문자형 벡터, 논리형 벡터 등을 적용할 수도 있습니다.