[Rd] problem with zero-weighted observations in predict.lm?

Peter Dalgaard pdalgd at gmail.com
Thu Jul 29 10:11:53 CEST 2010

Peter Dalgaard wrote:
> Prof Brian Ripley wrote:
>> I think you will find that 'n' is used in several ways in predict.lm, 
>> and since NA-handling was introduced in R 1.8.0 they may differ in 
>> value.  So the safest route seems to be to change just 'n' in
>>  		df <- n - p
> Yes, that seems to fix things. Will commit to R-devel shortly.
> -p

Spoke too soon, it fixes Bill's case, but breaks one of the regression

In fact this goes deeper, summary.lm special-cases the same zero-rank
case by using length(residuals), so it also miscalculates with zero weights:

> fit <- lm(y~0,weights=c(0,rep(1,9)))
> summary(fit)

lm(formula = y ~ 0, weights = c(0, rep(1, 9)))

     Min       1Q   Median       3Q      Max
-1.95428 -1.40571 -0.42378 -0.05795  1.05518

No Coefficients

Residual standard error: 1.119 on 10 degrees of freedom


Hum. lm() actually returns df.residual, AFAICS in all cases, now why
don't we just use that throughout????

Peter Dalgaard
Center for Statistics, Copenhagen Business School
Phone: (+45)38153501
Email: pd.mes at cbs.dk  Priv: PDalgd at gmail.com

More information about the R-devel mailing list