Vector
어떤 값들의 묶음
ex) 출석부
출석 번호 | 1 | 2 | 3 |
이름 | 김미나 | 오민수 | 장기수 |
출석번호 한 줄이 한 벡터이고, 이름 한 줄이 한 벡터이다.
하나의 벡터에는 같은 데이터 타입만 들어갈 수 있고, 각 벡터는 값이 들어있는 순서대로 인덱스로 나타낼 수 있다.
일반 프로그래밍 언어와는 달리 벡터의 인덱스는 1부터 시작한다.
(출석부[1] = 1, 이름[1] = 김미나)
R에서는 모든 변수들이 벡터 취급되고, 기본 적인 연산도 모두 벡터 연산으로 이루어진다.
vector1 = [1, 2, 3, 4]
vector2 = [2, 4, 6, 8]
vector1 + vector 2 = [3, 6, 9, 12]
길이가 다른 벡터의 경우는 어떻게 연산될까?
1. 길이가 배수인 경우
vector1 = c(1, 2, 3) # [1, 2, 3, 1, 2, 3]
vector2 = c(1, 2, 3, 4, 5, 6)
vector1 + vector2 # [2, 4, 6, 5, 7, 9] 출력
길이가 3인 vector1이 길이가 6인 vector2의 길이에 맞게 2번 반복되어 [1, 2, 3, 1, 2, 3] 으로 변형되어 연산된다.
2. 길이가 배수가 아닐 경우
vector1 = c(1, 2, 3) # [1, 2, 3, 1]
vector2 = c(1, 2, 3, 4)
vector1 + vector2 # [2, 4, 6, 5] 출력
길이가 3인 vector1를 길이가 4인 vector2와 더하고자하면 되는만큼 반복되어 계산해주고, warning을 띄운다.
활용하기
#vector 선언하기
myVector <- c(1, 2, 3, 4, 5, 6)
myVector # 1 2 3 4 5 6 출력
typeof(myVector) #double
is.numeric(myVector) #TRUE
is.integer(myVector) #FALSE
is.double(myVector) #TRUE
myVector2 <- c(1L, 2L, 3L, 4L, 5L, 6L)
is.numeric(myVector2) #TRUE
is.integer(myVector2) #TRUE
is.double(myVector2) #FALSE
myVector3 <- c(1, 2, 3, "사")
myVector3 # "1" "2" "3" "사"
is.numeric(myVector3) #FALSE
is.character(myVector3) #TRUE
#기존 벡터에 덧붙이기
myVector
myVector <- c(myVector, 7)
myVector # 1 2 3 4 5 6 7 출력
벡터는 c라는 함수를 이용하여 선언할 수 있다. c는 co mbine으로 생각하면 된다.
numeric형과 character 형을 함께 쓰면 character으로 치환된다.
c함수를 이용해서 기존 벡터에 값을 덧붙일 수 있다.
벡터선언 방법
vec1 <- c(1,2,3,4) #combine
vec1 # 1 2 3 4
vec2 <-seq(1, 100, 2) #sequence 1부터 100까지 2간격으로
vec2 # 1 3 5 ... 출력
vec3 <- rep(vec1, 4) #replicate
vec3 # 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
vec4 <- 1:100
vec4 # 1 2 3 4 ...
help(seq)
?seq
벡터는 위의 4가지 방법으로 선언 가능하다.
help와 ? 명령어를 통해 각 함수의 manual을 볼 수 있다.
벡터 인덱싱
#[] 대괄호 사용하기
myVector <- c("a", "b", "c", "d", "e", "f")
myVector
myVector[1] # "a"
myVector[6] # "f"
myVector[7] # "NA" -> 값이 없다는 뜻
myVector[8] # "NA"
myVector[c(1,3)] # "a" "c"
myVector[1:3] # "a" "b" "c"
myVector[-1] # "b" "c" "d" "e" "f"
myVector[c(-1,-3)] # "b" "d" "e" "f"
myVector[-1:-3] # "d" "e" "f"
벡터의 각 요소는 대괄호로 접근 할 수 있으며
대괄호 안에서도 아까 사용했던 4가지 함수를 사용할 수 있다.
마이너스(-)를 붙이면 -를 붙인 인덱스의 요소가 제외하고 출력하게 된다.
'코딩 > R' 카테고리의 다른 글
데이터의 구조 - Data Frame | R로 배우는데이터 시각화 기초 (0) | 2021.05.02 |
---|---|
데이터의 구조 - Matrix | R로 배우는데이터 시각화 기초 (0) | 2021.05.02 |
데이터의 종류와 활용 | R로 배우는 데이터 시각화 기초 (0) | 2021.05.02 |
듣게 된 이유, R이란? | R로 배우는 데이터 시각화 기초 (0) | 2021.02.05 |