Hi Dimitri,
The factor() function allows you to specify the levels. So
small.frame$myfactor <- factor(small.frame$myfactor, levels =
levels(large.frame$myfactor))
should do it.
Best,
Ista
On Thu, Apr 7, 2011 at 11:47 AM, Dimitri Liakhovitski
<dimitri.liakhovitski at gmail.com> wrote:
Hello!
I have larger and a smaller data frame with 1 factor in each - it's
the same factor:
large.frame<-data.frame(myfactor=LETTERS[1:10])
small.frame<-data.frame(myfactor=LETTERS[c(9,7,5,3,1)])
levels(large.frame$myfactor)
levels(small.frame$myfactor)
table(large.frame$myfactor)
table(small.frame$myfactor)
myfactor has 10 levels in large.frame and 5 levels in small.frame. All
5 levels in small.frame are present in large.frame.
How could I make levels(small.frame$myfactor) contain all the same
levels as levels(large.frame$myfactor)?
In other words, I want table(small.frame$myfactor) to have the same
number of entries as table(small.frame$myfactor) but with 5 zeros in
it:
A B C D E F G J I J
1 0 1 0 1 0 1 0 1 0
Thank you very much for your suggestions!
--
Dimitri Liakhovitski
Ninah Consulting
www.ninah.com