/ R

R 기초강의(3) - R Data Type

R 강좌는 여러 절로 구성되어 있습니다.


R Data Type

R에는 크게 2가지 형태의 Data Type이 있습니다. 하나는 기본 데이터 타입이고 다른 하나는 특수 데이터 타입입니다.

기본 데이터 타입

  • 수치형(Numeric) : 숫자로 되어 있으며 정수형과 실수형을 의미합니다. L 기호를 이용하면 정수형, 그렇지 않으면 실수형으로 간주합니다.
  • 문자형(character) : 하나의 문자 혹은 문자열로 되어 있으며 "" 혹은 ''을 사용합니다.
  • 논리형(logical) : 참과 거짓의 논리값으로 TRUE(T) 혹은 FALSE(F)로 표현됩니다.
  • 복소수형(complex) : 실수와 허수로 이루어진 복소수형태로 표현됩니다.

특수 데이터 타입

  • NULL : NULL은 그 자체가 객체이며 존재하지 않는 객체를 지정할 때 사용됩니다.
  • NA : Not Available의 약자로 결측치(missing value)를 의미합니다.
  • NaN : Not available Number의 약자로 수학적으로 연산이 불가능한 수를 의미합니다. 예) sqrt(-3)
  • Inf : Infinite의 약자로 양의 무한대를 의미합니다.
  • -Inf : 음의 무한대를 의미합니다.

Data Type을 알려주는 함수는 mode() 함수와 is로 시작하는 함수가 제공됩니다. mode()함수는 문자열 형태로 최종 결과를 알려주고 is계열의 함수는 TRUE 혹은 FALSE의 논리값으로 리턴됩니다.

실습

  • Data Type을 알려주는 mode()함수와 is계열의 함수를 사용해보자.
var1 = 100
var2 = 100L
var3 = "HEllo"
var4 = TRUE
var5 = 4 - 3i
var6 = NULL
var7 = sqrt(-3)      # warning : NaNs produced

mode(var1)           # "numeric" 
mode(var2)           # "numeric" 
mode(var3)           # "character"
mode(var4)           # "logical" 
mode(var5)           # "complex"
mode(var6)           # "NULL"
mode(var7)           # "numeric"

is.numeric(var1)     # TRUE
is.numeric(var2)     # TRUE

is.double(var1)      # TRUE
is.integer(var1)     # FALSE
is.integer(var2)     # TRUE

is.character(var3)   # TRUE
is.logical(var1)     # FALSE
is.null(var6)        # TRUE   
is.na(var7)          # TRUE

제공되는 is계열의 Data Type 확인 함수는 다음과 같습니다. R is_datatype_functions

R은 Data Type의 우선순위가 존재합니다. 아직 설명하지는 않았지만 R에는 vector라는 자료구조가 존재합니다. vector는 여러개의 데이터를 가질 수 있는 자료구조인데 하나의 Data Type만을 가질 수 있습니다. 따라서 vector를 만들 때 여러 Data Type을 이용해도 최종적으로는 하나의 Data Type으로 통일되며 우선순위에 의해서 최종 Data Type이 결정됩니다.

Data Type의 우선순위

  • 문자형(character) > 복소수형(complex) > 수치형(numeric) > 논리형(logical)

실습

  • vector를 이용하여 Data Type의 우선순위를 확인해보자
# Data Type의 우선순위

var1 <- c(100,TRUE,3.1415)     # numeric
var1

var2 <- c(100,TRUE,3.1415,"Hello")  # character
var2

var3 <- c(100,FALSE,3-4i)  # complex
var3

var4 <- c(100,FALSE,3-4i,"안녕!!")  # character
var4

R은 하나의 Data Type을 다른 Data Type으로 변경시키는 Type Casting작업을 위해 아래와 같은 함수를 제공합니다. (아래의 함수 이외의 함수도 제공됩니다. 추가적인 함수는 나올때마다 학습하도록 합니다.)

R type_casting_functions

실습

  • 형변환 함수를 이용하여 하나의 Data Type을 다른 Data Type으로 변환해 보자.
# Data Type 변환

var1 <- 3.1415
var2 <- 0
var3 <- "3.141592"
var4 <- "Hello"

as.character(var1)      # "3.1415"
as.double(var1)         # 3.1415  
as.integer(var1)        # 3 
as.numeric(var1)        # 3.1415

as.logical(var1)        # TRUE
as.logical(var2)        # FALSE

as.double(var3)         # 3.141592
as.integer(var3)        # 3
as.double(var4)         # NA

End.


이 포스트의 내용은 아래의 책과 사이트를 참조했습니다. 조금 더 자세한 사항을 알고 싶으시면 책을 참조하거나 해당 사이트를 방문하세요!!