R의 벡터 자료형 알아보기 - 생성,조회,연산, 타입변경 등

 

R은 통계분석을 목적으로 만들어진 언어이다. 그래서 다른 프로그래밍언어와 문법적으로 약간 차별성이 있는 듯하다. 처음에는 어색했지만 사용하다보니 데이터 분석에는 꽤 괜찮은 언어이다. 물론 그 기저에는 하들리 위컴이 개발한 tidyverse라는 R패키지 모임이 큰 역할을 한다. 그래도 R의 기본적인 함수는 여전히 유용하다.

오늘은 R의 가장 최소단위 자료형인 벡터에 대해서 알아보도록 하겠다.

 

 

 

R 자료형의 가장 최소 단위는 벡터이다. (그 외에 matrix, array, dataframe, list가 있다.) 기본적으로 모든 데이터가 벡터로 이루어져 있다. 벡터는 데이터 타입이 같거나 같은 형식을 갖는 값의 집합니다.

 

 

벡터의 생성 방법?

 

1부터 10까지의 벡터를 생성한다. R에서는 변수에 값을 넣을 때 <-기호를 사용한다.

x <- 1:10
print(x)
##  [1]  1  2  3  4  5  6  7  8  9 10

 

c함수를 이용하면 원하는 값들이 들어있는 벡터를 만들 수 있다. 벡터 안의 값들은 데이터 타입이 동일해야 하니, 이 점만 주의하도록 하자.

x <- c(1, 2, 3, 4, 6, 7, 8, 9, 10)

 

seq함수를 이용하면 n씩 증가 또는 감소하는 벡터를 만들 수 있다.

seq(1, 10, by=2)
## [1] 1 3 5 7 9

 

rep함수를 이용하면 특정값이 반복되는 벡터를 만들 수 있다.

rep(x, 2)
##  [1]  1  2  3  4  5  6  7  8  9 10  1  2  3  4  5  6  7  8  9 10

 

백터의 연산 방법은?

 

벡터의 +, - ,*, /를 하면 벡터의 값들을 기준으로 연산이 된다.

x+1
##  [1]  2  3  4  5  6  7  8  9 10 11

 

^는 제곱, %%은 나머지 연산, %/%은 나눴을 때 몫에 해당하는 값이 반환된다.

 

 

같다는 ==, !를 붙이면 같다의 반대가 된다. <, <=, >, >=는 따로 설명할 필요가 없을 듯 하다. |는 or(또는), &는 and(그리고)를 의미한다. isTRUE(x)하면 x값이 참(True)인지 거짓(False)인지 알 수 있다. 

y  <-  -10:-1
x==y
##  [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
!x==y
##  [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

 

 

벡터의 값을 조회하는 방법?

 

기본적으로 print함수를 이용하거나 변수명을 입력하면 값을 출력할 수 있다.

print(x)
##  [1]  1  2  3  4  5  6  7  8  9 10

 

특정 위치의 값을 조회하기 위해서는 대괄호 안에 숫자를 기입하면 된다. (예시: [1]) 특이한 점은 위치의 시작은 1부터이다.

다른 프로그래밍 언어에서는 0부터 시작하는데 R의 특이한 점이다. [-1]은 1의 위치의 값은 제외하고 출력하는 것이다. [1:5]는 1부터 5의 위치에 있는 값을 출력하는 것이다.

x[2]
## [1] 2
x[-2]
## [1]  1  3  4  5  6  7  8  9 10
x[1:5]
## [1] 1 2 3 4 5

 

다음으로 벡터의 타입과 관련된 함수들을 알아보자.

 

숫자형인지 문자형인지 팩터인지 알려면 is.을 붙이면 된다. 팩터는 범주형 변수를 의미한다.

is.numeric(x)
## [1] TRUE
is.character(x)
## [1] FALSE
is.factor(x)
## [1] FALSE

 

벡터의 타입을 변경하고 싶다면 as.을 붙이면 된다. integer는 정수, double은 실수이다. 보통 프로그래밍 언어에서 float가 실수인데 R은 특이하게 double이 실수인 듯 하다.

as.numeric(x)
##  [1]  1  2  3  4  5  6  7  8  9 10
as.integer(x)
##  [1]  1  2  3  4  5  6  7  8  9 10
as.double(x)
##  [1]  1  2  3  4  5  6  7  8  9 10
as.character(x)
##  [1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10"

 

오늘은 이렇게 R의 가장 기본이 되는 자료형인 벡터에 대해서 알아보았다. 사용방법은 그리 어렵지 않으나, 막상 쓰려고 하면 잘 기억이 나지 않는다. 다음 포스팅에서는 R의 기본함수에 대해서 알아보도록 하겠다.

 

댓글()