6.1 요인 변수의 생성

먼저 요인은 문자열 벡터를 기본으로 하여 생성을 할 수 있습니다. 예를 들어, 다음과 같은 st_data 라는 문자형 벡터가 있을 때 이를 범주형 변수 즉 요인으로 활용하고자 한다면 factor() 함수를 이용하여 st_data 를 요인으로 변경을 해야 합니다.

6.1.1 factor() 함수를 이용한 요인 생성

st_data <- c("earth", "cement", "cement", "earth")  # st_data는 4개의 문자열 요소를 갖는 문자형 벡터입니다.
st_data
## [1] "earth"  "cement" "cement" "earth"
floor_type <- factor(st_data)                       # floor_type은 st_data가 갖는 데이터의 종류를 수준으로 하는 요인이 됩니다.
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의 환경 창을 보면, image-20210124173034410 으로 나타나 있는 것을 알 수 있습니다.

  • 즉, floor_type 이라는 개체는 Factor 클래스입니다. 그리고 데이터 유형은 “정수형”입니다.
  • 2개의 수준(levels)으로 “cement”와 “earth”를 가지고 있다는 것입니다. 여기서 수준데이터 값의 종류라고 생각하면 됩니다.
  • 이어서 저장된 형태가 2 1 1 2로 되어 있는 것은 원래의 문자열 데이터 ("earth", "cement", "cement", "earth")가 수준의 순서를 나타내는 2 1 1 2정수형으로 저장됨을 의미합니다.
  • floor_type 개체의 속성(attributes)은 levels 속성과 class 속성으로 구성됩니다.