Re: [Rd] inconsistency or bug in coef() (PR#9358)

From: <ripley_at_stats.ox.ac.uk>
Date: Mon 13 Nov 2006 - 08:06:29 GMT


On Mon, 13 Nov 2006, rmh@temple.edu wrote:

> tmp <- data.frame(x=c(1,1),
> y=c(1,2))
>
> tmp.lm <- lm(y ~ x, data=tmp)
> summary(tmp.lm)
>
> coef(summary(tmp.lm))
>
> ## I consider this to be a bug. Since summary(tmp.lm) gives
> ## two rows for the coefficients, I believe the coef() function
> ## should also give two rows.

That claim is false: it is print.summary.lm that is giving two lines, not the result of summary.lm: try

unclass(summary(tmp.lm))

This is also clear from the Value section of ?summary.lm, whose See Also says

      Function 'coef' will extract the matrix of coefficients with
      standard errors, t-statistics and p-values.

The point is that the print method is making use of both the $coefficients and the $aliased components.

I really do think this is clear from reading the help page: did you actually cross-check before sending a bug report?

>
>
>
>> summary(tmp.lm)
>
> Call:
> lm(formula = y ~ x, data = tmp)
>
> Residuals:
> 1 2
> -0.5 0.5
>
> Coefficients: (1 not defined because of singularities)
> Estimate Std. Error t value Pr(>|t|)
> (Intercept) 1.5 0.5 3 0.205
> x NA NA NA NA
>
> Residual standard error: 0.7071 on 1 degrees of freedom
>
>> coef(summary(tmp.lm))
> Estimate Std. Error t value Pr(>|t|)
> (Intercept) 1.5 0.5 3 0.2048328
>>
>> version
> _
> platform i386-pc-mingw32
> arch i386
> os mingw32
> system i386, mingw32
> status
> major 2
> minor 4.0
> year 2006
> month 10
> day 03
> svn rev 39566
> language R
> version.string R version 2.4.0 (2006-10-03)
>>
>
>
> ## this is a related problem
>
> tmp <- data.frame(x=c(1,2),
> y=c(1,2))
>
> tmp.lm <- lm(y ~ x, data=tmp)
> summary(tmp.lm)
>
> coef(summary(tmp.lm))
>
> ## Here the summary() give NA for the values that can't be
> ## calculated and the coef() function gives NaN. I think both
> ## functions should return the same result.
>
>
>> summary(tmp.lm)
>
> Call:
> lm(formula = y ~ x, data = tmp)
>
> Residuals:
> ALL 2 residuals are 0: no residual degrees of freedom!
>
> Coefficients:
> Estimate Std. Error t value Pr(>|t|)
> (Intercept) 0 NA NA NA
> x 1 NA NA NA
>
> Residual standard error: NaN on 0 degrees of freedom
> Multiple R-Squared: 1, Adjusted R-squared: NaN
> F-statistic: NaN on 1 and 0 DF, p-value: NA
>
>>
>> coef(summary(tmp.lm))
> Estimate Std. Error t value Pr(>|t|)
> (Intercept) 0 NaN NaN NaN
> x 1 NaN NaN NaN
>>
>>
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>

-- 
Brian D. Ripley,                  ripley@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

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Wed Nov 15 01:37:05 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Tue 14 Nov 2006 - 17:30:39 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.