5.5 반복값을 갖는 벡터 만들기 : rep() 함수
데이터가 일정한 간격으로 증가/감소하거나(seq() 함수 이용), 같은 값이 반복되는 경우의 벡터를 생성할 수 있게 해주는 편리한 함수들이 있습니다.
먼저 반복적인 값을 가지는 벡터를 생성하는 rep() 함수에 대하여 살펴보겠습니다. 여기서 rep는 replicate(‘복제하다’ 라는 뜻)을 의미합니다.
이 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() 함수의 첫번째 인수를 모두 숫자형 벡터로 하였으나, 문자형 벡터, 논리형 벡터 등을 적용할 수도 있습니다.