當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R droplevels 刪除因子中未使用的級別


R語言 droplevels 位於 base 包(package)。

說明

函數 droplevels 用於從 factor 中刪除未使用的級別,或者更常見的是從數據幀中的因子中刪除未使用的級別。

用法

droplevels(x, ...)
## S3 method for class 'factor'
droplevels(x, exclude = if(anyNA(levels(x))) NULL else NA, ...)
## S3 method for class 'data.frame'
droplevels(x, except, exclude, ...)

參數

x

從中刪除未使用的因子級別的對象。

exclude

傳遞給factor();即使存在也應從結果中排除的因子水平。請注意,這是隱含地 NAR<= 3.3.1 確實下降了NA水平,即使存在於x,與文檔相反。當前默認兼容x[ , drop=TRUE].

...

傳遞給方法的更多參數

except

不刪除級別的列索引

細節

"factor" 的方法當前等效於 factor(x, exclude=exclude) 。對於 DataFrame 方法,您很少應該為所有因子列指定exclude “globally”;相反,默認使用與因子方法本身相同的factor-specific exclude

except 參數遵循通常的索引規則。

droplevels 返回與 x 相同類的對象

注意

該函數是在 R 2.12.0 中引入的。它主要適用於 DataFrame 中的一個或多個因子僅包含子集化後簡化水平集中的元素的情況。 (請注意,子集化通常不會刪除未使用的級別)。默認情況下, DataFrame 中所有因子的水平都會被刪除,但 except 參數允許您指定不需要的列。

例子

aq <- transform(airquality, Month = factor(Month, labels = month.abb[5:9]))
aq <- subset(aq, Month != "Jul")
table(           aq $Month)
table(droplevels(aq)$Month)

也可以看看

subset 用於對數據幀進行子集化。 factor 用於因子的定義。 drop 用於刪除數組維度。 drop1 用於從模型中刪除項。 [.factor 用於因子子集化。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Drop Unused Levels from Factors。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。