6.1 요인 변수의 생성
먼저 요인은 문자열 벡터를 기본으로 하여 생성을 할 수 있습니다. 예를 들어, 다음과 같은 st_data
라는 문자형 벡터가 있을 때 이를 범주형 변수 즉 요인으로 활용하고자 한다면 factor()
함수를 이용하여 st_data
를 요인으로 변경을 해야 합니다.
6.1.1 factor()
함수를 이용한 요인 생성
<- c("earth", "cement", "cement", "earth") # st_data는 4개의 문자열 요소를 갖는 문자형 벡터입니다.
st_data st_data
## [1] "earth" "cement" "cement" "earth"
<- factor(st_data) # floor_type은 st_data가 갖는 데이터의 종류를 수준으로 하는 요인이 됩니다.
floor_type floor_type
## [1] earth cement cement earth
## Levels: cement earth
# 요인 개체의 클래스, 데이터 유형 확인
class(floor_type) # "factor" 클래스임을 알 수 있습니다
## [1] "factor"
typeof(floor_type) # "integer" 유형임을 알 수 있습니다.
## [1] "integer"
is.factor(floor_type) # floor_type 개체가 요인형인지 확인합니다.
## [1] TRUE
# TRUE를 반환합니다.
attributes(floor_type) # floor_type 개체의 속성을 반환합니다. (levels와 class)
## $levels
## [1] "cement" "earth"
##
## $class
## [1] "factor"
R Studio의 환경 창을 보면, 으로 나타나 있는 것을 알 수 있습니다.
- 즉,
floor_type
이라는 개체는Factor
클래스입니다. 그리고 데이터 유형은 “정수형”입니다. - 2개의 수준(levels)으로 “
cement
”와 “earth
”를 가지고 있다는 것입니다. 여기서 수준은 데이터 값의 종류라고 생각하면 됩니다. - 이어서 저장된 형태가
2 1 1 2
로 되어 있는 것은 원래의 문자열 데이터("earth", "cement", "cement", "earth")
가 수준의 순서를 나타내는2 1 1 2
의 정수형으로 저장됨을 의미합니다. floor_type
개체의 속성(attributes)은levels
속성과class
속성으로 구성됩니다.