본문 바로가기

데이터분석/R

[R 프로그래밍] as함수로 데이터 유형 강제로 변경하기

#as.XX() 함수로 데이터 유형 강제로 변경하기


데이터 유형의 우선 순위

character > numeric > logical


우선순위가 낮은 타입에서 높은 타입으로 변화는 가능.

예) numeric을 character로 변경하거나, logical을 numeric으로 변환하는 것은 가능


우선순위가 높은 타입에서 낮은 타입으로 변경하는 것은 일부만 되고 일부는 안됨. 

#자료형이 logical인 testdf2를 생성하고 numeric으로 변경하는 것은 가능

> testdf2<- c(F,T,TRUE)

> testdf2

[1] FALSE  TRUE  TRUE


#numeric으로 변경 가능

> as.numeric(testdf2)

[1] 0 1 1


#다시 logical로 변환하는 것도 가능

> as.logical(testdf2)

[1] FALSE  TRUE  TRUE


#character형으로 변경도 가능

> as.character(testdf2)

[1] "FALSE" "TRUE"  "TRUE" 



#자료형이 character인 testdf를 생성하고 변환하려고 하면 일부만 변환되는 것을 볼 수 있다.

> testdf

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

> as.numeric(testdf)

[1] NA 10 NA

Warning message:

NAs introduced by coercion 

> as.logical(testdf)

[1]   NA   NA TRUE


[참고]

 logical 형태의 경우에는, 0이 아닌 숫자는 TRUE, 0은 FALSE로 변환된다.