Chapter 6 Vector

벡터는 R의 가장 기본적인 데이터 구조로써 integer, double, logical, character로 이루어져 있습니다.

6.1 벡터 만들기

vec_integer = 8:17
vec_integer
##  [1]  8  9 10 11 12 13 14 15 16 17
vec_double = c(0.5, 0.6, 0.2)
vec_double
## [1] 0.5 0.6 0.2
vec_logical = c(TRUE, FALSE, FALSE)
vec_logical
## [1]  TRUE FALSE FALSE
vec_char = c('a', 'b', 'c')
vec_char
## [1] "a" "b" "c"
c('a', 'b', 'c', 1, 2, 3)
## [1] "a" "b" "c" "1" "2" "3"

숫자와 문자가 같이 벡터로 묶일 경우, 숫자는 모두 문자 형태로 변경됩니다.

c(1, 2, 3, TRUE, FALSE)
## [1] 1 2 3 1 0

숫자와 논리값(Logical: TRUE/FALSE)이 같이 묶일 경우 TRUE는 1, FALSE는 0으로 치환된 후 숫자 형태로 변경됩니다.

c('a', 'b', 'c', TRUE, FALSE)
## [1] "a"     "b"     "c"     "TRUE"  "FALSE"

문자와 논리값이 같이 묶일 경우 모두 문자 형태로 변경됩니다.

6.2 벡터에 값 추가하기

v1 = 8:17
c(v1, 18:22)
##  [1]  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22

c() 함수를 이용해 기존 벡터에 새로운 값을 추가할 수 있습니다.

6.3 벡터 추출하기

대괄호([])을 이용해 원하는 부분의 데이터를 추출할 수 있습니다.

v1
##  [1]  8  9 10 11 12 13 14 15 16 17
v1[2]
## [1] 9
v1[2:4]
## [1]  9 10 11
v1[c(2, 4, 6, 8)]
## [1]  9 11 13 15
v1[c(2, 2, 4)]
## [1]  9  9 11

대괄호 안에 숫자를 입력시, 벡터에서 해당 순서의 데이터가 추출됩니다.

v1[-1]
## [1]  9 10 11 12 13 14 15 16 17
v1[-c(2, 4, 6, 8)]
## [1]  8 10 12 14 16 17

마이너스 기호를 입력 시, 해당 순서를 제외한 데이터가 추출됩니다.

v1[v1 < 12]
## [1]  8  9 10 11
v1[v1 < 12 | v1 > 15]
## [1]  8  9 10 11 16 17

대괄호 내부에 조건을 설정하여 데이터를 추출할 수도 있습니다.