[R] Odd r-squared

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon Nov 3 09:02:25 CET 2003


On Mon, 3 Nov 2003, Simon Wotherspoon wrote:

>   I would consider the calculation of r-squared in the following to be a
> bug, but then, I've been wrong before.  It seems that R looks to see if the
> model contains an intercept term, and if it does not, computes r-squared in
> a way I don't understand.  To my mind, the following are two alternative
> parametrizations of the same model, and should yield the same r-squared.

But the minimal model contains a overall mean in the first case and not in
the second.  Your models are 1+g+x+g:x and 0+g+g:x.  So whereas they are 
alternative parametrizations of the same full model, R^2 compares two 
models, not just one.

You will find this explained on ?summary.lm (RTFM!) and several times in
the archives.  One solution is to ignore the R^2 lines (as I do and tell
my students to do).  But we might consider labelling the printed output as 
say 

Multiple R-Squared (no int): 0.8061,     Adjusted R-squared: 0.6769

to remind people.

> 
> Any insight much appreciated
> 
> Simon.
> 
> 
> 
> > set.seed(10,kind=NULL)
> > x <- runif(10)
> > g <- gl(2,5)
> > y <- runif(10)
> >
> > summary(lm(y ~ g*x))
> 
> Call:
> lm(formula = y ~ g * x)
> 
> Residuals:
>      Min       1Q   Median       3Q      Max
> -0.35205 -0.14021  0.02486  0.13958  0.39671
> 
> Coefficients:
>             Estimate Std. Error t value Pr(>|t|)
> (Intercept)   0.3138     0.2749   1.141    0.297
> g2           -0.1568     0.4339  -0.361    0.730
> x             0.3556     0.6082   0.585    0.580
> g2:x          0.3018     1.0522   0.287    0.784
> 
> Residual standard error: 0.276 on 6 degrees of freedom
> Multiple R-Squared: 0.1491,     Adjusted R-squared: -0.2763
> F-statistic: 0.3505 on 3 and 6 DF,  p-value: 0.7907
> 
> > summary(lm(y ~ g/x-1))
> 
> Call:
> lm(formula = y ~ g/x - 1)
> 
> Residuals:
>      Min       1Q   Median       3Q      Max
> -0.35205 -0.14021  0.02486  0.13958  0.39671
> 
> Coefficients:
>      Estimate Std. Error t value Pr(>|t|)
> g1     0.3138     0.2749   1.141    0.297
> g2     0.1570     0.3357   0.468    0.657
> g1:x   0.3556     0.6082   0.585    0.580
> g2:x   0.6574     0.8586   0.766    0.473
> 
> Residual standard error: 0.276 on 6 degrees of freedom
> Multiple R-Squared: 0.8061,     Adjusted R-squared: 0.6769
> F-statistic: 6.237 on 4 and 6 DF,  p-value: 0.02491
> 
> 
> 
> --please do not edit the information below--
> 
> Version:
>  platform = i386-pc-mingw32
>  arch = i386
>  os = mingw32
>  system = i386, mingw32
>  status =
>  major = 1
>  minor = 8.0
>  year = 2003
>  month = 10
>  day = 08
>  language = R
> 
> Windows ME 4.90 (build 3000)
> 
> Search Path:
>  .GlobalEnv, package:methods, package:ctest, package:mva, package:modreg,
> package:nls, package:ts, Autoloads, package:base
> ---
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> 
> 

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595




More information about the R-help mailing list