ID EN
Miscellaneous

droplevels

R Base 3.6.2

The function droplevels is used to drop unused levels from a factor or, more commonly, from factors in a data frame.

Syntax

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

Arguments

Parameter Description
x an object from which to drop unused factor levels.
exclude passed to factor(); factor levels which should be excluded from the result even if present. Note that this was implicitly NA in R <= 3.3.1 which did drop NA levels even when present in x, contrary to the documentation. The current default is compatible with x[ , drop=TRUE].
&#8230; further arguments passed to methods
except indices of columns from which not to drop levels

Return Value

droplevels returns an object of the same class as x

Details

The method for class "factor" is currently equivalent to factor(x, exclude=exclude). For the data frame method, you should rarely specify exclude “globally” for all factor columns; rather the default uses the same factor-specific exclude as the factor method itself. The except argument follow the usual indexing rules.

Examples

Example
R
# NOT RUN {
aq <- transform(airquality, Month = factor(Month, labels = month.abb[5:9]))
aq <- subset(aq, Month != "Jul")
table(           aq $Month)
table(droplevels(aq)$Month)
# }

See Also

subset for subsetting data frames. factor for definition of factors. drop for dropping array dimensions. drop1 for dropping terms from a model. [.factor for subsetting of factors.