From ramasamy at cancer.org.uk  Fri Oct  1 14:56:52 2004
From: ramasamy at cancer.org.uk (Adaikalavan Ramasamy)
Date: Fri Oct  1 14:55:52 2004
Subject: [Rd] same test statistic for t-test with and without equal
	variance assumption
In-Reply-To: <x2brfm666d.fsf@biostat.ku.dk>
References: <1096627733.3352.10.camel@ndmpc126.ihs.ox.ac.uk>
	<x2brfm666d.fsf@biostat.ku.dk>
Message-ID: <1096635412.3412.10.camel@ndmpc126.ihs.ox.ac.uk>

Peter, thank you! I forgot the to square root in calculating sp.

sp <- sqrt( ( (n1-1)*v1 + (n2-1)*v2 )/(n1 + n2 - 2) )

For several simulation runs, the test statistics from both tests are
remarkably similar (difference is less than 10e-16). I naively assumed
that the statistics value should be slightly but visibly different too. 

It appear that the effects of equal and unequal variance assumptions are
only felt through the degrees of freedom calculation. 

Regards, Adai


On Fri, 2004-10-01 at 12:15, Peter Dalgaard wrote:
> Adaikalavan Ramasamy <ramasamy@cancer.org.uk> writes:
> 
> > Could some kindly tell me if I am supposed to be getting the same test
> > statistic value with var.equal=TRUE and var.equal=FALSE in t.test ?
> > 
> > set.seed(1066)
> > x1 <- rnorm(50)
> > x2 <- rnorm(50)
> > 
> > t.test(x1, x2, var.equal=FALSE)$statistic # 0.5989774
> > t.test(x1, x2, var.equal=TRUE)$statistic  # 0.5989774 ???
> > 
> > 
> > Here are my own calculations that shows that perhaps the result when
> > var.equal=TRUE is wrong.
> > 
> > n1 <- length(x1); n2 <- length(x2)
> > m1 <- mean(x1)  ; m2 <- mean(x2)  ; num   <- (m1 - m2)
> > v1 <- var(x1)   ; v2 <- var(x2)
> > 
> > # t-test with UNequal variance
> > denom1 <- sqrt( v1/n1 + v2/n2 )
> > num / denom1   # gives 0.5989774
> > 
> > # t-test with equal variance 
> > sp <- ( (n1-1)*v1 + (n2-1)*v2 )/(n1 + n2 - 2)
> > denom2 <- sp * sqrt( 1/n1 + 1/n2 )
> > num / denom2   # gives 0.5913777
> > 
> > 
> > I tested this using R-1.9.1 (21/06/2004) on Redhat Fedora Core 2 and
> > Windows 2000 Professional with the same results.
> > 
> > Any suggestions would be kindly appreciated.
> 
> Your calculation is wrong. Try increasing the variance of x1 and x2...
> 
> > set.seed(1066)
> > x1 <- rnorm(50,,100)
> > x2 <- rnorm(50,,100)
> > m1 <- mean(x1)  ; m2 <- mean(x2)  ; num   <- (m1 - m2)
> >  v1 <- var(x1)   ; v2 <- var(x2)
> > denom1 <- sqrt( v1/n1 + v2/n2 )
> > num / denom1   # gives 0.5989774
> [1] 0.5989774
> >  sp <- ( (n1-1)*v1 + (n2-1)*v2 )/(n1 + n2 - 2)
> > denom2 <- sp * sqrt( 1/n1 + 1/n2 )
> > num / denom2   # gives 0.5913777
> [1] 0.005913777
>


[Rd] same test statistic for t-test with and without equal variance assumption
Adaikalavan Ramasamy