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씩 증가/감소하는 연속된 숫자로 구성된 벡터는 :
연산자로 쉽게 생성할 수 있습니다.
# : 를 이용한 연속된 숫자로 구성된 벡터 생성
<- 1:7; x # x : 1, 2, 3, 4, 5, 6, 7 x
## [1] 1 2 3 4 5 6 7
<- 2:-2; y # y : 2, 1, 0, -1, -2 y
## [1] 2 1 0 -1 -2
5.6.2 seq()
함수를 이용한 벡터 생성
다양한 형태의 증가 및 감소하는 수열을 생성할 때에는 seq()
함수가 유용하게 사용됩니다.
# 증가하는 수열의 생성
<- seq(1, 10); x # 1부터 10까지 기본값으로 1씩 증가하는 요소로 구성됩니다. x
## [1] 1 2 3 4 5 6 7 8 9 10
<- 1:10; x x
## [1] 1 2 3 4 5 6 7 8 9 10
# 감소하는 수열의 생성
<- seq(10, 1); x x
## [1] 10 9 8 7 6 5 4 3 2 1
<- 10:1; y y
## [1] 10 9 8 7 6 5 4 3 2 1
# 일정 간격으로 증가하는 수열의 생성 : by =
<- seq(1, 10, by = 3); x # 1부터 시작해서 3씩 증가하는 10까지의 요소를 생성합니다. x
## [1] 1 4 7 10
# 생성하는 벡터 요소의 갯수 지정 : length.out =
<- seq(1, 10, length.out=5); y # 1부터 10사이에 `일정 간격`으로 `5`개의 요소를 생성합니다. y
## [1] 1.00 3.25 5.50 7.75 10.00
# 다른 벡터의 길이와 같은 길이를 갖는 수열 생성 : along.with =
<- 1:10 # x는 10개의 요소를 갖는 벡터입니다.
x <- seq(5, 20, along.with = x) # y는 5부터 20까지의 숫자를 동일한 간격으로 벡터 x의 길이인 10개 만큼 생성합니다. y