ripley@stats.ox.ac.uk
1999-Mar-09 13:31 UTC
Bug in lm.wfit with zero weights in 0.63.3 (PR#136)
R 0.63.3 (any platform) library(lqs) example(lqs) gives Warning in (y - z$residuals) + offset : longer object length is not a multiple of shorter object length repeatedly. The problem is in lm.wfit, which removes cases with zero weights, but does not adjust the offset. The fix is z$fitted.values <- (y - z$residuals) z$weights <- w if (zero.weights) { coef[is.na(coef)] <- 0 f0 <- x0 %*% coef if (ny > 1) { save.r[ok, ] <- z$residuals save.r[nok, ] <- y0 - f0 save.f[ok, ] <- z$fitted.values + offset[ok,] save.f[nok, ] <- f0 + offset[nok,] } else { save.r[ok] <- z$residuals save.r[nok] <- y0 - f0 save.f[ok] <- z$fitted.values + offset[ok] save.f[nok] <- f0 + offset[nok] } z$residuals <- save.r z$fitted.values <- save.f z$weights <- save.w } else z$fitted.values <- z$fitted.values + offset The only examples affected are those with a non-zero offset and zero weights: these will have incorrect fitted values. I've commited this for 0.64.0. -- 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 272860 (secr) Oxford OX1 3TG, UK Fax: +44 1865 272595 -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._