[Rd] same test statistic for t-test with and without equal
variance assumption
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Fri Oct 1 13:15:06 CEST 2004
Adaikalavan Ramasamy <ramasamy at 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
--
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-devel
mailing list