levels provides access to the levels attribute of a variable.
The first form returns the value of the levels of its argument
and the second sets the attribute.
levels(x) levels(x) <- value
- an object, for example a factor.
- A valid value for
levels(x). For the default method,
NULLor a character vector. For the
factormethod, a vector of character strings with length at least the number of levels of
x, or a named list specifying how to rename the levels.
Both the extractor and replacement forms are generic and new methods
can be written for them. The most important method for the replacement
function is that for
factors. For the factor replacement method, a
causes that level to be removed from the levels and the elements
formerly with that level to be replaced by
NA. Note that for a factor, replacing the levels via
levels(x) <- value is not the same as (and is preferred to)
attr(x, "levels") <- value. The replacement function is primitive.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
## assign individual levels x <- gl(2, 4, 8) levels(x) <- "low" levels(x) <- "high" x ## or as a group y <- gl(2, 4, 8) levels(y) <- c("low", "high") y ## combine some levels z <- gl(3, 2, 12, labels = c("apple", "salad", "orange")) z levels(z) <- c("fruit", "veg", "fruit") z ## same, using a named list z <- gl(3, 2, 12, labels = c("apple", "salad", "orange")) z levels(z) <- list("fruit" = c("apple","orange"), "veg" = "salad") z ## we can add levels this way: f <- factor(c("a","b")) levels(f) <- c("c", "a", "b") f f <- factor(c("a","b")) levels(f) <- list(C = "C", A = "a", B = "b") f