在子设置的数据帧中降低因子级别
我有一个包含因子的数据框架。当我创建此数据框架的子集时,使用subset()或者另一个索引函数,创建一个新的数据框架。然而,因子变量保留了所有的原始级别-即使它们不存在于新的数据框架中。
这会在进行分面绘图或使用依赖于因素级别的函数时造成头痛。
在我的新数据框架中,从一个因素中删除级别的最简洁的方法是什么?
下面是我的例子:
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
## but the levels are still there!
levels(subdf$letters)
## [1] "a" "b" "c" "d" "e"
慕的地6264312
慕姐8265434