在子設(shè)置的數(shù)據(jù)幀中降低因子級別我有一個包含因子的數(shù)據(jù)框架。當(dāng)我創(chuàng)建此數(shù)據(jù)框架的子集時,使用subset()或者另一個索引函數(shù),創(chuàng)建一個新的數(shù)據(jù)框架。然而,因子變量保留了所有的原始級別-即使它們不存在于新的數(shù)據(jù)框架中。這會在進(jìn)行分面繪圖或使用依賴于因素級別的函數(shù)時造成頭痛。在我的新數(shù)據(jù)框架中,從一個因素中刪除級別的最簡潔的方法是什么?下面是我的例子: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 回答
慕的地6264312
TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個贊
droplevels()
levels(droplevels(subdf$letters))
慕姐8265434
TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超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 關(guān)注
- 707 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
