当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。