1.5 Factors
factor는 범주형 데이터를 저장하기 위해 사용된다. (factor는 기본적으로 문자형 벡터이다.)
<- c("brown", "green", "brown", "blue", "blue", "blue") # 문자 벡터
eye.col.vec eye.col.vec
## [1] "brown" "green" "brown" "blue" "blue" "blue"
<- factor(c("brown", "green", "brown", "blue", "blue", "blue")) # factor
eye.col.fac eye.col.fac
## [1] brown green brown blue blue blue
## Levels: blue brown green
R은 factor의 서로 다른 level들을 식별한다 - 즉, 단일 값들. 데이터는 내부적으로 정수로 저장되며, 각 숫자는 factor의 level에 대응한다. (문자 벡터보다 데이터 저장 공간이 절약되는 효과가 있다.)
# factor의 level 확인 : levels() 함수의 사용
levels(eye.col.fac) # factor(범주형 변수)의 levels들(단일 값)
## [1] "blue" "brown" "green"
# factor의 숫자 벡터 변환 : as.numeric() 함수의 사용
as.numeric(eye.col.fac) # 수치 값 : 1은 "blue", 2는 "brown", 3은 "green"
## [1] 2 3 2 1 1 1
# 문자 벡터의 숫자 벡터 변환
as.numeric(eye.col.vec) # eye.col.vec 벡터는 숫자 벡터로 변환이 안됨.
## Warning: 강제형변환에 의해 생성된 NA 입니다
## [1] NA NA NA NA NA NA
# factor의 문자형 변환 : as.character() 함수의 사용
as.character(eye.col.fac)
## [1] "brown" "green" "brown" "blue" "blue" "blue"
# 문자 벡터의 문자형 변환
as.character(eye.col.vec)
## [1] "brown" "green" "brown" "blue" "blue" "blue"