On Aug 2, 2010, at 3:53 PM, Rebecca Ross wrote: > Could anyone advise if this is the 'correct' contrast matrix to use to make > contrasts between one treatment and the mean of 2 other treatments (in this > case, mid-parent values to the F1 and F2 from a line cross experiment)? > Desired contrasts are > 1) P1 versus P2 > 2) average of P1 and P2 versus F1 > 3) average of P1 and P2 versus F2 > levels(MyData$Type) > "P1", "F1", "F2","P2" > (I have renamed these A, B, C, D in the actual data so they appear in the > order above) > Contrast matrix: > contr_mat<-cbind( > c(1,0,0,-1), > c(-1,2,0,-1), > c(-1,0,2,-1)) > > contrasts(MyData$Type)<-contr_mat
If you have played with this for some time, you develop a strong aversion to non-orthogonal contrast matrices... You have to be very careful to notice that contrast matrices map FROM parameters TO mean values, whereas what we normally call contrasts map in the other direction. In general, to get a set of parameters that has a particular contrast parametrization, you have to do a (generalized) matrix inverse. In the present case, > library(MASS) > zapsmall(ginv(rbind(c(1,0,0,-1),c(-.5,1,0,-.5),c(-.5,0,1,-.5)))) [,1] [,2] [,3] [1,] 0.5 -0.25 -0.25 [2,] 0.0 0.75 -0.25 [3,] 0.0 -0.25 0.75 [4,] -0.5 -0.25 -0.25 which looks pretty whacked when you first look at it, but to wit: > CM <- zapsmall(ginv(rbind(c(1,0,0,-1),c(-.5,1,0,-.5),c(-.5,0,1,-.5)))) > solve(cbind(1,CM)) [,1] [,2] [,3] [,4] [1,] 0.25 0.25 0.25 0.25 [2,] 1.00 0.00 0.00 -1.00 [3,] -0.50 1.00 0.00 -0.50 [4,] -0.50 0.00 1.00 -0.50 So, no, you guessed incorrectly. -- Peter Dalgaard Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Email: pd....@cbs.dk Priv: pda...@gmail.com ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.