droplevels
Drop Unused Levels from FactorsThe function droplevels
is used to drop unused levels from a factor
or, more commonly, from factors in a data frame.
## 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 | an object from which to drop unused factor levels. |
exclude | passed to |
... | further arguments passed to methods |
except | indices of columns from which not to drop levels |
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.
droplevels
returns an object of the same class as x
This function was introduced in R 2.12.0. It is primarily intended for cases where one or more factors in a data frame contains only elements from a reduced level set after subsetting. (Notice that subsetting does not in general drop unused levels). By default, levels are dropped from all factors in a data frame, but the except
argument allows you to specify columns for which this is not wanted.
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.
aq <- transform(airquality, Month = factor(Month, labels = month.abb[5:9])) aq <- subset(aq, Month != "Jul") table( aq $Month) table(droplevels(aq)$Month)
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.