을 포함하는 데이터 프레임이 있습니다 factor
. subset
또는 다른 인덱싱 기능을 사용하여이 데이터 프레임의 하위 집합을 만들면 새 데이터 프레임이 만들어집니다. 그러나 factor
변수는 새 데이터 프레임에없는 경우에도 원래 수준을 모두 유지합니다.
패싯 플로팅을 수행하거나 요인 수준에 의존하는 함수를 사용할 때 문제가 발생합니다.
새 데이터 프레임에서 요인에서 수준을 제거하는 가장 간결한 방법은 무엇입니까?
예를 들면 다음과 같습니다.
df <- data.frame(letters=letters[1:5],
numbers=seq(1:5))
levels(df$letters)
## [1] "a" "b" "c" "d" "e"
subdf <- subset(df, numbers <= 3)
## letters numbers
## 1 a 1
## 2 b 2
## 3 c 3
# all levels are still there!
levels(subdf$letters)
## [1] "a" "b" "c" "d" "e"