[R] correction to the previously asked question (about merging factors)
Spencer Graves
spencer.graves at pdf.com
Thu Feb 5 21:44:04 CET 2004
What about the following:
> F1 <- factor(c("b", "a"))
> F2 <- factor(c("c", "b"))
> k1 <- length(F1)
> k2 <- length(F2)
> F12.lvls <- unique(c(levels(F1), levels(F2)))
> F. <- factor(rep(F12.lvls[1], k1+k1), levels=F12.lvls)
> F.[1:k1] <- F1
> F.[-(1:k1)] <- F2
> F.
[1] b a c b
Levels: a b c
This saves converting the factors to characters, which might save
computer time at the expense of your time.
hope this helps.
spencer graves
Svetlana Eden wrote:
>I have two factors l1, l2, and I'd like to merge them.
>
>(Remark: The factors can not be converted to charaters)
>
>Function c() does not give me the result I want:
>
>
>
>
>>l1 = factor(c('aaaa', 'bbbb'))
>>l2 = factor(c('ccc', 'dd'))
>>lMerge = factor(c(l1, l2))
>>lMerge
>>
>>
>[1] 1 2 1 2
>Levels: 1 2
>
>
>I'd like to merge l1 and l2 and to get lMerge
>----------------------------------------------
>
>[1] aaaa bbbb ccc dd
>Levels: aaaa bbbb ccc dd
>
>instead of
>----------
>
>[1] 1 2 1 2
>Levels: 1 2
>
>
>
>How should I do that without converting the factors back to strings.
>-------------------------------------------------------------------
>
>
>
More information about the R-help
mailing list