본문 바로가기
Data Science/R

R프로그래밍 : 범주형 벡터 관련 함수 (as.factor, factor)

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

문자형 벡터의 원소가 국가명처럼 같은 것을 의미하는 문자열이 반복되고 있다면 문자열 벡터를 범주형 벡터로 변환하는 것이 좋다. 

 

nat <- c('KOREA','JAPAN','CHINA','USA','CHINA','KOREA','USA','JAPAN')
print(x=nat)

[1] "KOREA" "JAPAN" "CHINA" "USA"   "CHINA" "KOREA"  "USA"   "JAPAN"

# 문자형 벡터는 따옴표로 감싼 문자열로 출력됨

 

 

fct <- as.factor(x=nat)
print(x=fct)

[1] KOREA JAPAN CHINA USA   CHINA KOREA USA   JAPAN
Levels: CHINA JAPAN KOREA USA

 

# 레벨은 중복된 원소를 제거 후 오름차순으로 자동 설정됨

# 범주형 벡터 출력 시 따옴표 없는 문자열과 함께 맨 아래에 레벨이 추가됨

 

 

as.integer(x=fct)

[1] 3 2 1 4 1 3 4 2

 

 


범주형 벡터 레벨 순서 지정 시에는 factor( ) 함수를 사용한다. 

fct <- factor(x=nat, levels=c('KOREA','USA','CHINA','JAPAN'))
print(x=fct)

[1] KOREA JAPAN CHINA USA   CHINA KOREA USA   JAPAN
Levels: KOREA USA CHINA JAPAN

 

# levels에 지정된 문자형 벡터의 원소 순으로 레벨 설정 

 

 

as.integer(x=fct)

[1] 1 4 3 2 3 1 2 4

# levels의 순서가 바뀌었으니 범주형 벡터 원소도 그에 맞게 변경됨

반응형