본문 바로가기

데이터분석/R

[R 프로그래밍] 데이터 유형의 종류 및 데이터 유형 확인하기

#데이터 타입

타입 

 설명

 character

 문자형

 텍스트로 구성되어 있으며 "text" 와 같은 형태로 표시된다.

 숫자도 "10"이나 '10'처럼 따옴표로 묶여 있으면 문자형이 된다.

 산술, 논리연산은 할 수 없다.

 비교 연산은 인코딩 형태에 따라 문자 코드 기준으로 가능하다.

 numeric

 수치형

 숫자로 구성된 데이터로 int와 double은 이 수치형에 포함된다.

 산술, 비교, 논리 연산이 모두 가능

 int

 정수형

 double

 실수형 

 logical

 논리형 
 TRUE, FALSE 로 구성되어 있다. T, F로 줄여서도 사용할 수 있다.

 변수 명으로 사용할 수 없고 대소문자를 구분하니 주의하자.

 비교 연산을 할 수 있다.

 complex 

 복소수형 

 a + bi와 같이 복소수 형태로 구성된 데이터로 허수가 포함되어 있다.

 NULL

 존재하지 않는 객체로 지정 시 사용 

 NA

 결측값 Not Available

 NaN

 Not Available Number 수학적으로 계산이 불가능한 경우

 Inf

 무한대. Inf는 양의 무한대 -Inf 는 음의 무한대 



#데이터 타입의 우선 순위

character > numeric > logical

문자형이 가장 높고, 수치형, 논리형이 가장 낮다. 

#아래와 같이 다양한 형태를 가진 데이터를 넣을 경우

testdf<- c("char",10,TRUE)


#우선순위가 가장 높은 문자형으로 모두 변경된다.

> mode(testdf)

[1] "character"

> testdf

[1] "char" "10"   "TRUE"



#데이터 유형 확인하기

[참고] df 데이터의 구성

#1. mode() 함수로 확인

mode()함수를 사용하면 이 데이터가 어떤 자료형인지 알려준다. 

아래와 같이 자료형의 이름으로 표시한다.

"numeric", "character", "complex", "logical"

> mode(df)

[1] "list"

> mode(df$complex)

[1] "complex"

> mode(df$name)

[1] "character"

> mode(df$logical)

[1] "logical"

> mode(df$var1)

[1] "numeric"

> mode(df$var_mean)

[1] "numeric"



#2, as.XXX() 함수로 확인

as.XXX() 함수를 사용해서 확인할 경우 (XXX자리에는 자료형을 넣는다.)

이 데이터가 해당 자료형인지 알려준다.

결과값은 TRUE/FALSE로 알려줌

> is.numeric(df)

[1] FALSE

> is.numeric(df$name)

[1] FALSE

> is.numeric(df$var1)

[1] TRUE


#is.finite()의 경우 유한 수치인지, is.infinite()의 경우 무한 수치인지 여부를 확인한다.

#위의 다른 목록과 달리 각 행의 값들을 모두 확인할 수 있다.

> is.finite(df$var1)

[1] TRUE TRUE TRUE

> is.infinite(df$var1)

[1] FALSE FALSE FALSE