6.2 요인의 요소에 접근하기
요인의 구성 요소에 접근하는 것은 벡터의 구성 요소에 접근하는 것과 매우 유사합니다.
floor_type
## [1] earth cement cement earth
## Levels: cement earth
# 정수형 벡터를 색인으로 이용하는 방법입니다.
2] # 2번째 요소를 반환합니다. floor_type[
## [1] cement
## Levels: cement earth
c(2, 4)] # 2번째와 4번째 요소를 반환합니다. floor_type[
## [1] cement earth
## Levels: cement earth
-1] # 1번 요소를 제외하고 반환합니다. floor_type[
## [1] cement cement earth
## Levels: cement earth
# 논리형 벡터를 색인으로 이용하는 방법입니다.
c(TRUE, FALSE, FALSE, TRUE)] # 1번째와 4번째 요소를 반환합니다. floor_type[
## [1] earth earth
## Levels: cement earth
# which() 함수의 이용
which(floor_type == "earth") # 요소의 값이 earth인 색인 번호를 반환합니다.
## [1] 1 4
6.2.1 요인형 변수에 데이터 추가하기
floor_type
변수는 요인 변수로서 두 개의 수준인 “earth
”와 “cement
” 만을 요소 값으로 하고 있습니다. 만약에 이 변수에 “stone
” 이라는 값을 추가하면 어떻게 될까요? stone
이라는 값은 floor_type
의 수준에 없기 때문에 Error
가 발생하고 NA
값이 입력됩니다. stone
을 새로운 수준으로 설정하지 않은 이상stone
은floor_type
에 입력되지 않습니다.
5] <- "stone" # 5번째 요소로 stone을 할당합니다. floor_type[
## Warning in `[<-.factor`(`*tmp*`, 5, value = "stone"): invalid factor level, NA
## generated
# 경고 메시시가 출력되고, NA값이 입력됩니다.
levels(floor_type) <- c(levels(floor_type), "stone") # stone를 수준에 추가해 줍니다.
levels(floor_type) # 수준에 stone이 추가되었습니다.
## [1] "cement" "earth" "stone"
5] <- "stone" # stone이 floor_type에 새로 추가되었습니다. floor_type[