[R] pairwise.t.test vs t.test

peter dalgaard pdalgd at gmail.com
Fri Sep 10 16:20:42 CEST 2010


On Sep 10, 2010, at 16:01 , Jabez Wilson wrote:

> Dear all, I am perplexed when trying to get the same results using pairwise.t.test and t.test.
> I'm using examples in the ISwR library, 
>> attach(red.cell.folate)
> I can get the same result for pairwise.t.test and t.test when I set the variances to be non-equal, but not when they are assumed to be equal. Can anyone explain the differences, or what I'm doing wrong?
> Here's an example where I compare the first two ventilations with pairwise.t.test and t.test
>> pairwise.t.test(folate, ventilation, p.adj="none", pool.sd=F)
>         Pairwise comparisons using t tests with non-pooled SD 
> data:  folate and ventilation 
>           N2O+O2,24h N2O+O2,op
> N2O+O2,op 0.029      -        
> O2,24h    0.161      0.298    
> P value adjustment method: none 
> 
>> t.test(folate[1:8], folate[9:17], var.equal=F)
>         Welch Two Sample t-test
> data:  folate[1:8] and folate[9:17] 
> t = 2.4901, df = 11.579, p-value = 0.02906
> alternative hypothesis: true difference in means is not equal to 0 
> 95 percent confidence interval:
>    7.310453 113.050658 
> sample estimates:
> mean of x mean of y 
>  316.6250  256.4444 
>  
> So 0.029 and 0.02906 are identical but if I do the same with pool.sd and var.equal = T, I get different results
>> pairwise.t.test(folate, ventilation, p.adj="none", pool.sd=T)
>         Pairwise comparisons using t tests with pooled SD 
> data:  folate and ventilation 
>           N2O+O2,24h N2O+O2,op
> N2O+O2,op 0.014      -        
> O2,24h    0.155      0.408    
> P value adjustment method: none 
> 
>> t.test(folate[1:8], folate[9:17], var.equal=T)
>         Two Sample t-test
> data:  folate[1:8] and folate[9:17] 
> t = 2.5582, df = 15, p-value = 0.02184
> alternative hypothesis: true difference in means is not equal to 0 
> 95 percent confidence interval:
>   10.03871 110.32240 
> sample estimates:
> mean of x mean of y 
>  316.6250  256.4444 
>  
> So 0.014 and 0.02184 are not the same.
>  
>  


The help page says:

"The pool.SD switch calculates a common SD for all groups...." (NB: "all")

So the denominator is not the same as when testing each pair separately.

You can in fact do

pairwise.t.test(folate, ventilation, p.adj="none", pool.sd=F,var.eq=T)

 


-- 
Peter Dalgaard
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com



More information about the R-help mailing list