5.6 연속 값들의 벡터 만들기 : seq() 함수와 세미콜론(;)

rep() 함수는 동일한 요소 값을 복제하는 반면에, seq() 함수는 등차수열을 만들어 주는 함수입니다. 즉, 일정한 간격으로 요소들이 증가하거나 감소하는 벡터를 생성하고자 할 때 유용합니다.

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

형식 : seq(from, to, by = | length.out = | along.with = )

  • from : 시작 값
  • to : 마지막 값
  • by : 간격 값 (기본 값은 1)
  • length.out : 생성된 요소의 갯수 지정
  • along.with :

한편, 간단한 증가/감소 수열의 생성은 콜론(:)을 이용할 수도 있습니다. :은 기본 증가/감소 값을 1로 하는 seq() 함수 대신에 사용할 수 있습니다. 즉, seq() 함수의 from 인수와 to 인수만을 지정한 경우, 증가/감소값을 나타내는 by 인수의 기본값은 1이 됩니다.

5.6.1 : 를 이용한 벡터 생성

1씩 증가/감소하는 연속된 숫자로 구성된 벡터는 : 연산자로 쉽게 생성할 수 있습니다.

# : 를 이용한 연속된 숫자로 구성된 벡터 생성 
x <- 1:7; x         # x : 1, 2, 3, 4, 5, 6, 7
## [1] 1 2 3 4 5 6 7
y <- 2:-2; y        # y : 2, 1, 0, -1, -2
## [1]  2  1  0 -1 -2

5.6.2 seq() 함수를 이용한 벡터 생성

다양한 형태의 증가 및 감소하는 수열을 생성할 때에는 seq() 함수가 유용하게 사용됩니다.

# 증가하는 수열의 생성
x <- seq(1, 10); x                   # 1부터 10까지 기본값으로 1씩 증가하는 요소로 구성됩니다.
##  [1]  1  2  3  4  5  6  7  8  9 10
x <- 1:10; x      
##  [1]  1  2  3  4  5  6  7  8  9 10
# 감소하는 수열의 생성
x <- seq(10, 1); x
##  [1] 10  9  8  7  6  5  4  3  2  1
y <- 10:1; y
##  [1] 10  9  8  7  6  5  4  3  2  1
# 일정 간격으로 증가하는 수열의 생성 : by = 
x <- seq(1, 10, by = 3); x          # 1부터 시작해서 3씩 증가하는 10까지의 요소를 생성합니다.
## [1]  1  4  7 10
# 생성하는 벡터 요소의 갯수 지정 : length.out =
y <- seq(1, 10, length.out=5); y    # 1부터 10사이에 `일정 간격`으로 `5`개의 요소를 생성합니다.
## [1]  1.00  3.25  5.50  7.75 10.00
# 다른 벡터의 길이와 같은 길이를 갖는 수열 생성 : along.with =
x <- 1:10                           # x는 10개의 요소를 갖는 벡터입니다.
y <- seq(5, 20, along.with = x)     # y는 5부터 20까지의 숫자를 동일한 간격으로 벡터 x의 길이인 10개 만큼 생성합니다.