[R] initialize a factor vector

Johannes Huesing johannes at huesing.name
Sat Jul 19 15:20:28 CEST 2008


I have found that factor vectors are shy beasts.

Consider:

> empty <- factor(levels=c("eins", "zwei"))
> value <- factor("eins", levels=c("eins", "zwei"))
> c(empty, value)
[1] 1
> empty[1] <- value
> empty
[1] eins
Levels: eins zwei
> 

I could not exactly predict this behaviour, but ?c says:

    The output type is determined from the highest type of the
     components in the hierarchy NULL < raw < logical < integer < real
     < complex < character < list < expression. 

As factor is a class (of the whole vector) and not a type (of a single 
element), c does not seem to preserve the object information, i.e. there
does not seem to be a c.factor, correct?

-- 
Johannes Hüsing               There is something fascinating about science. 
                              One gets such wholesale returns of conjecture 
mailto:johannes at huesing.name  from such a trifling investment of fact.                
http://derwisch.wikidot.com         (Mark Twain, "Life on the Mississippi")



More information about the R-help mailing list