# Re: [Rd] order of levels in interaction()

From: Deepayan Sarkar <deepayan.sarkar_at_gmail.com>
Date: Thu 30 Nov 2006 - 21:53:48 GMT

On 11/30/06, Prof Brian Ripley <ripley@stats.ox.ac.uk> wrote:
> On Thu, 30 Nov 2006, Deepayan Sarkar wrote:
>
> > Hi,
> >
> > ?interaction says:
> >
> >
> > 'factor'; ':' where 'f:g' is the similar to 'interaction(f, g,
> > sep=":")' when 'f' and 'g' are factors.
> >
> > This is not quite true (or maybe 'similar' is the operative word), since:
> >
> >> f <- factor(1:3); g <- factor(letters[1:3])
> >> levels(f:g)
> > [1] "1:a" "1:b" "1:c" "2:a" "2:b" "2:c" "3:a" "3:b" "3:c"
> >> levels(interaction(f, g, sep = ":"))
> > [1] "1:a" "2:a" "3:a" "1:b" "2:b" "3:b" "1:c" "2:c" "3:c"
> >
> > Note the different order of the levels. I like the order in f:g better
> > (and at least one other person agrees [1] ), but I also want the
> > flexibility of having a 'sep' argument. Would it be possible to change
> > interaction to allow this? A simple fix that makes interaction behave
> > like ":" is to replace
>
> No, for it also says
>
> The levels are ordered so the level of the first factor varies
> fastest, then the second and so on. This is the reverse of
> lexicographic ordering, and differs from ':'. (It is done this
> way for compatibility with S.)
>
> and reversing it would break things. (It does, I tried it a while back.)

Ah, I should have read the help page more carefully.

I'll just write a custom version for my use, which is a fairly simple case.

-Deepayan

> > as.vector(outer(l, lvs, paste, sep = sep))
> >
> > with
> >
> > as.vector(t(outer(l, lvs, paste, sep = sep)))
> >
> > in interaction.
> >
> > -Deepayan
> >
> > [1] http://tolstoy.newcastle.edu.au/R/help/06/08/32638.html

R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Fri Dec 01 11:35:34 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Fri 01 Dec 2006 - 01:30:53 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.