

OK, my last question didn't get any replies so I am going to try and ask a different way.

When I generate contrasts with contr.sum() for a 3 level categorical variable I get the 2 orthogonal contrasts:

> contr.sum( c(1,2,3) )
  [,1] [,2]
1    1    0
2    0    1
3   -1   -1

This provides the contrasts <1-3> and <2-3> as expected.  But I also want it to create <1-2> (i.e. <1-3> - <2-3>).  So in general I want all possible orthogonal contrasts - think of it as the contrasts for all pairwise comparisons between the levels.

Are there are any options for contrast() or other functions/libraries that will allow me to do this automatically?  I could go through and create new columns but I am using this for complex multi-factor experiments with varying levels per factor and fitting the models within other functions (e.g. regsubsets()) so an automatic solution using what is already available would be far preferable.


Michael Hopkins
Algorithm and Statistical Modelling Expert
 
Upstream
23 Old Bond Street
London
W1S 4PZ


	[[alternative HTML version deleted]]

