在子设置的数据帧中降低因子级别我有一个包含因子的数据框架。当我创建此数据框架的子集时,使用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"
4 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
drop.levels()
> drop.levels(subdf) letters numbers1 a 12 b 23 c 3> levels(drop.levels(subdf)$letters)[1] "a" "b" "c"
dropUnusedLevels
[
as.factor(as.character(data))
:
> levels(subdf$letters)[1] "a" "b" "c" "d" "e"> subdf$letters <- as.factor(as.character(subdf$letters))> levels(subdf$letters)[1] "a" "b" "c"
- 4 回答
- 0 关注
- 650 浏览
添加回答
举报
0/150
提交
取消