From ripley at stats.ox.ac.uk  Thu Nov 30 22:48:35 2006
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Thu, 30 Nov 2006 21:48:35 +0000 (GMT)
Subject: [Rd] order of levels in interaction()
In-Reply-To: <eb555e660611301325o3f255372t4bced4bd0c51e52d@mail.gmail.com>
References: <eb555e660611301325o3f255372t4bced4bd0c51e52d@mail.gmail.com>
Message-ID: <Pine.LNX.4.64.0611302146210.19267@gannet.stats.ox.ac.uk>

On Thu, 30 Nov 2006, Deepayan Sarkar wrote:

> Hi,
>
> ?interaction says:
>
> See Also:
>
>     '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.)

> 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 at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



[Rd] order of levels in interaction()
Prof Brian Ripley