[R] a question about lm on t-test.

Eik Vettorazzi E.Vettorazzi at uke.uni-hamburg.de
Thu Aug 18 10:26:18 CEST 2011


That is a speciality of your model - it is actually an ANOVA-model (with
2 groups). Even so the variance of the intercept is estimated from the
whole sample, not only for group==1 (thats why the statistics and
p-values differ) - and that analysis is equivalent to a t-test with
common variance (aka classical t-test).

A different kettle of fish is a regression with continuous predictors like
(s1<-summary(lm(extra~as.numeric(group),data=sleep)))

where your estimates depend on the coding of group.

cheers.

Am 18.08.2011 08:50, schrieb Lao Meng:
> Well,since the intercept is the same as mean of group1,I take it for
> granted that the 1-sample ttest must test based on group==1...
> 
> If the intercept is estimated from the whole sample,why does the
> intercept is the same as mean of group1?
> 
> 
> 
> 
> 2011/8/17 Eik Vettorazzi <E.Vettorazzi at uke.uni-hamburg.de
> <mailto:E.Vettorazzi at uke.uni-hamburg.de>>
> 
>     Hi Lao,
>     thats not the same test. The concept of linear regression applies here
>     (and you might take any introductory at your hand to refresh that
>     concept). The intercept is estimated from the whole sample not just
>     group==1, dfs are 20-2, not sum(group==1)-1!
> 
>     best regards
> 
>     Am 17.08.2011 09:57, schrieb Lao Meng:
>     > Thanks Eik.
>     > As to your words:"The intercept in lm is tested against 0 (one sample
>     > t-test)"
>     >
>     > So, I perform the following test:
>     > t.test(extra[group==1],mu=0)
>     >
>     > Since goup1 is regarded as reference,I do the 1-sample ttest based on
>     > group1's mean vs 0.
>     > But the result:
>     > t value= 1.3257
>     > p-value = 0.2176
>     >
>     > And t value and p value of s1 is:
>     > t value= 1.249
>     > p value= 0.2276
>     >
>     > So the t value and p value are different between 1-sample ttest of
>     > group1'mean vs 0  and s1(lm's result).
>     >
>     > What's the reason for the difference then?
>     >
>     > Thanks a lot for your help.
>     >
>     > My best.
>     >
>     >
>     > 2011/8/16 Eik Vettorazzi <E.Vettorazzi at uke.uni-hamburg.de
>     <mailto:E.Vettorazzi at uke.uni-hamburg.de>
>     > <mailto:E.Vettorazzi at uke.uni-hamburg.de
>     <mailto:E.Vettorazzi at uke.uni-hamburg.de>>>
>     >
>     >     Hi,
>     >     you may have noticed, that your t-test and lm had not the same
>     p-values
>     >     for the difference in means, which is calculated for group2
>     when you use
>     >     treatment contrasts and that is what R does by default (see
>     >     ?contr.treatment). This is because R uses Welsh test by
>     default. Pros
>     >     and cons are beyond this post, but look at
>     >
>     >     (t1<-t.test(extra~group,data=sleep,var.equal=T))
>     >     (s1<-summary(lm(extra~group,data=sleep)))
>     >     all.equal(s1$coef["group2","Pr(>|t|)"],t1$p.value)
>     >
>     >     The intercept in lm is tested against 0 (one sample t-test),
>     >     so the t-statistic is (mean-0)/sd, having n-k (sample size -
>     number of
>     >     parameters) degrees of freedom.
>     >
>     >     cc<-s1$coef["(Intercept)",1:2]
>     >     2*(1-pt(cc[1]/cc[2],df=18))
>     >
>     >
>     >     hth.
>     >
>     >     Am 16.08.2011 07:25, schrieb Lao Meng:
>     >     > Hi all:
>     >     > I have a question about lm on t-test.
>     >     >
>     >     > data(sleep)
>     >     >
>     >     > I wanna perform t-test to test the difference between the 2
>     groups:
>     >     >
>     >     > I can use:
>     >     > t.test(extra~group)
>     >     >
>     >     > The t.test result shows that:t = -1.8608; mean1=0.75,mean2=2.33
>     >     >
>     >     >
>     >     > But I still wanna use:
>     >     > summary(lm(extra~group))
>     >     >
>     >     > Intercept=0.75,which is mean1,just the same as t.test.
>     >     > group2=1.58 means the difference of the 2 groups,so
>     >     > mean2=1.58+0.75=2.33,just the same as t.test.
>     >     > And some parameters of group2(t value,Pr) are the same as
>     t.test,since
>     >     > group2 is the difference of the 2 groups.
>     >     >
>     >     > My question is:
>     >     > How the "t value" of Intercept(group1 acturally) is calculated?
>     >     >
>     >     >
>     >     > Thanks a lot.
>     >     >
>     >     > My best
>     >     >
>     >     >       [[alternative HTML version deleted]]
>     >     >
>     >     > ______________________________________________
>     >     > R-help at r-project.org <mailto:R-help at r-project.org>
>     <mailto:R-help at r-project.org <mailto: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.
>     >
>     >     --
>     >     Eik Vettorazzi
>     >     Institut für Medizinische Biometrie und Epidemiologie
>     >     Universitätsklinikum Hamburg-Eppendorf
>     >
>     >     Martinistr. 52
>     >     20246 Hamburg
>     >
>     >     T ++49/40/7410-58243
>     >     F ++49/40/7410-57790
>     >
>     >
> 
>     --
>     Eik Vettorazzi
>     Institut für Medizinische Biometrie und Epidemiologie
>     Universitätsklinikum Hamburg-Eppendorf
> 
>     Martinistr. 52
>     20246 Hamburg
> 
>     T ++49/40/7410-58243
>     F ++49/40/7410-57790
> 
> 

-- 
Eik Vettorazzi

Department of Medical Biometry and Epidemiology
University Medical Center Hamburg-Eppendorf

Martinistr. 52
20246 Hamburg

T ++49/40/7410-58243
F ++49/40/7410-57790



More information about the R-help mailing list