[R] The equivalence of t.test and the hypothesis testing of one way ANOVA

Guido van Steen gvsteen at yahoo.com
Sat Nov 7 15:28:05 CET 2009


Hi, 

Student's T-test is a test that can be used to test ONE SINGLE linear restriction - which serves the as alternative hypothesis - on a linear model - which serves as the null hypothesis - AT THE SAME TIME. 

Fisher's F test is an extension of the T test. The F test can be used to test ONE OR MORE linear restriction(s) on a linear model AT THE SAME TIME. 

So, to test a single restriction on a linear model one can use both the F test and the T test. When multiple restrictions are tested at the same time one needs to apply the F test. 

Both the F and the T test actually require equal variances. However, using a transformation matrix one can transform a model assuming unequal variances into an equivalent model assuming equal variances. On such a transformed model the F test or T test can be applied. The untransformed models are usually called general linear models. In R they can be handled using the glm() function. (See ?glm) 

A (one-way) Anova model is a specific type of general linear model (glm). So hypotheses on an Anova model are tested in exactly the same way as any other restrictions on a glm should be tested. 

Best wishes, 

Guido 

> ------------------------------
> 
> Message: 11
> Date: Fri, 6 Nov 2009 09:48:18 -0500
> From: JLucke at ria.buffalo.edu
> Subject: Re: [R] The equivalence of t.test and the
> hypothesis testing
>     of one    way ANOVA
> To: Peng Yu <pengyu.ut at gmail.com>
> Cc: r-help-bounces at r-project.org,
> r-help at stat.math.ethz.ch
> Message-ID:
>     <OFC71A4670.65D468B9-ON85257666.0050EE14-85257666.005175E1 at ria.buffalo.edu>
>     
> Content-Type: text/plain
> 
> There extensions to aov for without assuming equal
> variances.
> 
> Reed, James F., I. & Stark, D. B. (1988), 'Robust
> alternatives to 
> traditional analyses of variance: Welch $W^*$, James
> $J_I^*$, James 
> $J_II^*$, and Brown-Forsythe $BF^*$', Computer Methods and
> Programs in 
> Biomedicine 26, 233--238.
> 
> 
> I don't   know whether they are implemented
> in R.
> 
> 
> 
> 
> Peng Yu <pengyu.ut at gmail.com>
> 
> Sent by: r-help-bounces at r-project.org
> 11/06/2009 07:59 AM
> 
> To
> r-help at stat.math.ethz.ch
> cc
> 
> Subject
> Re: [R] The equivalence of t.test and the hypothesis
> testing of one way 
> ANOVA
> 
> 
> 
> 
> 
> 
> Is it possible to use aov() to compute the same p-value
> that is
> generated by t.test() with var.equal=F. An assumption of
> ANOVA is
> equal variance, I'm wondering how to relax such assumption
> to allow
> non equal variance?
> 
> On Thu, Nov 5, 2009 at 8:31 AM, Benilton Carvalho <bcarvalh at jhsph.edu>
> 
> wrote:
> > compare
> >
> > t.test(x, y, var.equal=T)
> >
> > with
> >
> > summary(afit)
> >
> > b
> >
> > On Nov 5, 2009, at 12:21 PM, Peng Yu wrote:
> >
> >> I read somewhere that t.test is equivalent to a
> hypothesis testing for
> >> one way ANOVA. But I'm wondering how they are
> equivalent. In the
> >> following code, the p-value by t.test() is not the
> same from the value
> >> in the last command. Could somebody let me know
> where I am wrong?
> >>
> >>> set.seed(0)
> >>> N1=10
> >>> N2=10
> >>> x=rnorm(N1)
> >>> y=rnorm(N2)
> >>> t.test(x,y)
> >>
> >>       Welch Two Sample
> t-test
> >>
> >> data:  x and y
> >> t = 1.6491, df = 14.188, p-value = 0.1211
> >> alternative hypothesis: true difference in means
> is not equal to 0
> >> 95 percent confidence interval:
> >> -0.2156863  1.6584968
> >> sample estimates:
> >> mean of x  mean of y
> >> 0.3589240 -0.3624813
> >>
> >>>
> >>> A = c(rep('x',N1),rep('y',N2))
> >>> Y = c(x,y)
> >>> fr = data.frame(Y=Y,A=as.factor(A))
> >>> afit=aov(Y ~ A,fr)
> >>>
> >>> X=model.matrix(afit)
> >>> B=afit$coefficients
> >>> V=solve(t(X) %*% X)
> >>>
> >>> mse=tail(summary(afit)[[1]]$'Mean Sq',1)
> >>> df=tail(summary(afit)[[1]]$'Df',1)
> >>> t_statisitic=(B/(mse * sqrt(diag(V))))[[2]]
> >>> 2*(1-pt(abs(t_statisitic),df))#the p-value
> from aov
> >>
> >> [1] 0.1090802
> >>>
> >>
> >> ______________________________________________
> >> R-help at r-project.org
> mailing list
> >> 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.
> >
> >
> 
> ______________________________________________
> R-help at r-project.org
> mailing list
> 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.
> 
> 
>     [[alternative HTML version deleted]]
> 
> 
> 



      New Email names for you! 
Get the Email name you've always wanted on the new @ymail and @rocketmail. 
Hurry before someone else does!
http://mail.promotions.yahoo.com/newdomains/aa/




More information about the R-help mailing list