Dear Denis,

It's not multcomp which is too conservative, it is the pairwise t-test
which is too liberal. The pairwise t-test doesn't take the random
effect of Case into account.

Best regards,
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature
and Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium

To call in the statistician after the experiment is done may be no
more than asking him to perform a post-mortem examination: he may be
able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does
not ensure that a reasonable answer can be extracted from a given body
of data. ~ John Tukey


2015-06-23 5:17 GMT+02:00 Denis Chabot <[email protected]>:
> Hi,
>
> I am working on a problem which I think can be handled as a repeated measures 
> analysis, and I have read many tutorials about how to do this with R. This 
> part goes well, but I get stuck with the multiple comparisons I'd like to run 
> afterward. I tried two methods that I have seen in my readings, but their 
> results are quite different and I don't know which one to trust.
>
> The two approaches are pairwise.t.test() and multcomp, although the latter is 
> not available after a repeated-measures aov model, but it is after a lme.
>
> I have a physiological variable measured frequently on each of 67 animals. 
> These are then summarized with a quantile for each animal. To check the 
> effect of experiment duration, I recalculated the quantile for each animal 4 
> times, using different subset of the data (so the shortest subset is part of 
> all other subsets, the second subset is included in the 2 others, etc.). I 
> handle this as 4 repeated (non-independent) measurements for each animal, and 
> want to see if the average value (for 67 animals) differs for the 4 different 
> durations.
>
> Because animals with high values for this physiological trait have larger 
> differences between the 4 durations than animals with low values, the 
> observations were log transformed.
>
> I attach the small data set (Rda format) here, but it can be obtained here if 
> the attachment gets stripped:
> <https://dl.dropboxusercontent.com/u/612902/RepMeasData.Rda>
>
> The data.frame is simply called Data.
> My code is
>
> load("RepMeasData.Rda")
> Data_Long = melt(Data, id="Case")
> names(Data_Long) = c("Case","Duration", "SMR")
> Data_Long$SMR = log10(Data_Long$SMR)
>
> # I only show essential code to reproduce my opposing results
> mixmod = lme(SMR ~ Duration, data = Data_Long, random = ~ 1 | Case)
> anova(mixmod)
> posthoc <- glht(mixmod, linfct = mcp(Duration = "Tukey"))
> summary(posthoc)
>          Simultaneous Tests for General Linear Hypotheses
>
> Multiple Comparisons of Means: Tukey Contrasts
>
>
> Fit: lme.formula(fixed = SMR ~ Duration, data = Data_Long, random = ~1 |
>     Case)
>
> Linear Hypotheses:
>                   Estimate Std. Error z value Pr(>|z|)
> Set2 - Set1 == 0 -0.006135   0.003375  -1.818    0.265
> Set3 - Set1 == 0 -0.002871   0.003375  -0.851    0.830
> Set4 - Set1 == 0  0.015395   0.003375   4.561   <1e-04 ***
> Set3 - Set2 == 0  0.003264   0.003375   0.967    0.768
> Set4 - Set2 == 0  0.021530   0.003375   6.379   <1e-04 ***
> Set4 - Set3 == 0  0.018266   0.003375   5.412   <1e-04 ***
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> (Adjusted p values reported -- single-step method)
>
> with(Data_Long, pairwise.t.test(SMR, Duration, p.adjust.method="holm", 
> paired=T))
>         Pairwise comparisons using paired t tests
>
> data:  SMR and Duration
>
>      Set1    Set2    Set3
> Set2 < 2e-16 -       -
> Set3 0.11118 0.10648 -
> Set4 0.00475 7.9e-05 0.00034
>
> P value adjustment method: holm
>
> So the difference between sets 1 and 2 goes from non significant to very 
> significant, depending on method.
>
> I have other examples with essentially the same type of data and sometimes 
> the two approches differ in the opposing way. In the example shown here, 
> multcomp was more conservative, in some others it yielded a larger number of 
> significant differences.
>
> I admit not mastering all the intricacies of multcomp, but I have used 
> multcomp and other methods of doing multiple comparisons many times before 
> (but never with a repeated measures design), and always found the results 
> very similar. When there were small differences, I trusted multcomp. This 
> time, I get rather large differences and I am worried that I am doing 
> something wrong.
>
> Thanks in advance,
>
> Denis Chabot
> Fisheries & Oceans Canada
>
> sessionInfo()
> R version 3.2.0 (2015-04-16)
> Platform: x86_64-apple-darwin13.4.0 (64-bit)
> Running under: OS X 10.10.3 (Yosemite)
>
> locale:
> [1] fr_CA.UTF-8/fr_CA.UTF-8/fr_CA.UTF-8/C/fr_CA.UTF-8/fr_CA.UTF-8
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> other attached packages:
> [1] multcomp_1.4-0  TH.data_1.0-6   survival_2.38-1 mvtnorm_1.0-2   
> nlme_3.1-120    car_2.0-25      reshape2_1.4.1
>
> loaded via a namespace (and not attached):
>  [1] Rcpp_0.11.5      magrittr_1.5     splines_3.2.0    MASS_7.3-40      
> lattice_0.20-31  minqa_1.2.4      stringr_1.0.0
>  [8] plyr_1.8.2       tools_3.2.0      nnet_7.3-9       pbkrtest_0.4-2   
> parallel_3.2.0   grid_3.2.0       mgcv_1.8-6
> [15] quantreg_5.11    lme4_1.1-7       Matrix_1.2-0     nloptr_1.0.4     
> codetools_0.2-11 sandwich_2.3-3   stringi_0.4-1
> [22] SparseM_1.6      zoo_1.7-12
> ______________________________________________
> [email protected] mailing list -- To UNSUBSCRIBE and more, see
> 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.

______________________________________________
[email protected] mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to