Displaying 1 result from an estimated 1 matches for "droplevels2".
Did you mean:
droplevels
2012 Nov 05
1
Another code to drop factor levels
...propriate for this mailing list.
In R, there is already functionality to drop unused factor levels. However, I am proposing the code below that I wrote. In some occasions, it was faster than applying function 'factor'. In any case, there is no restriction for anyone to use the code below.
droplevels2 <- function(x) {
if (is.null(levels(x)))
stop("no 'levels' attribute")
nlev <- length(levels(x))
y <- unclass(x)
tb <- tabulate(y, nlev)
used <- as.logical(tb)
tb[used] <-
seq(length=sum(used))
y[] <- tb[y]
levels(y) <- levels(x)[used]
attr(y, "class...