Adaikalavan Ramasamy <[EMAIL PROTECTED]> 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 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel