在子設置的數據幀中降低因子級別我有一個包含因子的數據框架。當我創建此數據框架的子集時,使用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 關注
- 689 瀏覽
添加回答
舉報
0/150
提交
取消