본문 바로가기
Data Science/R

R프로그래밍 : 벡터의 자료형 변환 함수 (as.integer, as.numeric, as.character, as.logical, as.factor)

by 엔딴 2021. 3. 8.
반응형

as.xxxx( ) 함수 사용하기 


as.integer( )

실수형/문자형/논리형 벡터를 정수형 벡터로 변환

소수점은 '내림'으로 변환

FALSE는 0으로, TRUE는 1로 변환 

as.integer(x=1.2)

[1] 1

as.integer(x=3.8)

[1] 3

as.integer(x=FALSE)

[1] 0

 


as.numeric( ) 

정수형/문자형/논리형 벡터를 실수형 벡터로 변환

as.numeric(x=1L)

[1] 1


as.character( ) 

정수형/실수형/논리형 벡터를 문자형 벡터로 변환

as.character(x=1L)

[1] "1"

as.character(x=1.2)

[1] "1.2"

as.character(x=TRUE)

[1] "TRUE"


as.logical( )

정수형/실수형/문자형 벡터를 논리형 벡터로 변환

숫자0은 FALSE로, 0이 아닌 숫자는 TRUE로 변환

문자형 또는 범주형 벡터는 NA로 변환

as.logical(x=0)

[1] FALSE

as.logical(x=1.2)

[1] TRUE

as.logical(x='1.2')

[1] NA


as.factor( ) 

문자형 벡터를 범주형 벡터로 변환

원소의 중복 제거 -> 오름차순 정렬 -> 레벨화

c <- c('hi','r')
e <- as.factor(x=c) 
print(x=e)
class(x=c)
class(x=e)

>print(x=e)

[1] hi r 
Levels: hi r

> class(x=c)
[1] "character"
> class(x=e)
[1] "factor"

 

>> 'hi'와 'r'이라는 원소는 중복이 없고 알파벳 오름차순으로 h가 먼저이기 때문에 레벨이 hi, r 순서대로 형성된다. 

 

범주형 벡터를 정수형 벡터로 변환한 결과 출력 시,

as.integer(x=e)

[1] 1 2

>> e를 정수형 벡터로 변환한 결과를 출력하면 'hi', 'r' 대신 1, 2가 출력된다. 레벨의 인덱스를 의미한다. 

as.integer(x=c)

[1] NA NA 

>> c의 원소는 숫자를 따옴표로 감싼 문자열이 아니므로 정수형 벡터로 변환되지 않는다. 

 

 

반응형