[R] multiple comparisons for lme using multcomp

Peter Dalgaard p.dalgaard at biostat.ku.dk
Thu Mar 10 13:13:14 CET 2005


Michaël Coeurdassier <michael.coeurdassier at univ-fcomte.fr> writes:

> summary(csimtest(vect,vcov(lm1),cmatrix=contrMat(table(treatment),type="Tukey"),df=59))
....
> Coefficients:
>                Estimate t value Std.Err. p raw p Bonf p adj
> Al800-Al100     -2.253 -10.467    0.213 0.000  0.000 0.000
> Al600-Al100     -2.185 -10.389    0.207 0.000  0.000 0.000
> Al400-Al100     -2.036  -9.850    0.210 0.000  0.000 0.000
> Al200-Al100     -1.712  -8.051    0.215 0.000  0.000 0.000
> control-Al100   -1.487  -7.243    0.205 0.000  0.000 0.000
> control-Al800    0.767  -5.282    0.143 0.000  0.000 0.000
> control-Al600    0.698  -5.072    0.148 0.000  0.000 0.000
> control-Al400    0.550  -4.160    0.155 0.000  0.001 0.001
> Al800-Al200     -0.542  -3.488    0.141 0.001  0.006 0.006
> Al600-Al200     -0.473  -3.191    0.140 0.002  0.014 0.012
> Al400-Al200     -0.325  -2.267    0.147 0.027  0.135 0.110
> control-Al200    0.225  -1.593    0.132 0.116  0.466 0.341
> Al800-Al400     -0.217  -1.475    0.152 0.145  0.466 0.341
> Al600-Al400     -0.149  -1.064    0.138 0.292  0.583 0.466
> Al800-Al600     -0.068  -0.449    0.145 0.655  0.655 0.655
> 
>  > #a friend told me that it is possible to do multiple comparisons for lme 
> in a simplest way, i.e. :
>  > anova(lm1,L=c("treatmentcontrol"=1,"treatmentAl200"=-1))
> F-test for linear combination(s)
>    treatmentAl200 treatmentcontrol
>                -1                1
>    numDF denDF  F-value p-value
> 1     1    12 2.538813  0.1371
> 
>  > anova(lm1,L=c("treatmentcontrol"=1,"treatmentAl400"=-1))
> F-test for linear combination(s)
>    treatmentAl400 treatmentcontrol
>                -1                1
>    numDF denDF  F-value p-value
> 1     1    12 17.30181  0.0013
> 
>  > anova(lm1,L=c("treatmentcontrol"=1,"treatmentAl600"=-1))
> F-test for linear combination(s)
>    treatmentAl600 treatmentcontrol
>                -1                1
>    numDF denDF  F-value p-value
> 1     1    12 25.72466   3e-04
> 
>  > anova(lm1,L=c("treatmentcontrol"=1,"treatmentAl800"=-1))
> F-test for linear combination(s)
>    treatmentAl800 treatmentcontrol
>                -1                1
>    numDF denDF F-value p-value
> 1     1    12 27.9043   2e-04
> 
>  > # however, p values are different that those obtained above. Is this way 
> OK or not?


Notice that in all cases, the F-value is exactly the square of the
t-value from Csimtest. The main difference is that you have claimed
that the vcov matrix has 59 DF, whereas the lme analysis says 12. I'd
suspect the latter to be (more) correct. Apart from that, notice that
the "L" approach at best gives you the "p raw" value, i.e., it is
uncorrected for multiple testing.


-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907




More information about the R-help mailing list