[R] Levels of a factor
David Winsemius
dwinsemius at comcast.net
Wed Jul 24 20:35:55 CEST 2013
On Jul 24, 2013, at 6:25 AM, Borja Rivier wrote:
> Hi all,
>
> I am having a bit of trouble using the levels() function.
> I have a factor with many elements, and when I use the function levels() to
> extract the list of unique elements, some of the elements returned are not
> actually in the factor.
>
> For example I would have this:
>
>> vector <- dataset$Benchmark
>> class(vector)
> [1] "factor"
>> length(vector)
> [1] 35615
>> vector2 <- levels(vector)
>> length(which(!(vector2 %in% vector)))
> [1] 235
>
> Does anyone know how this is possible?
>
When you take a subset of a factor vector, the levels are not reduced to the unique values in the new vector. There is droplevels function that would need to be applied if you already have such a vector, and there is a drop argument that you need to set to TRUE in the `[.factors` call if you want to "attack the problem at the source".
?`[.factor
?droplevels
--
David Winsemius
Alameda, CA, USA
More information about the R-help
mailing list