lmfit Fitter Functions for Linear Models
 Description
These are the basic computing engines called by lm used to fit linear models. These should usually not be used directly unless by experienced users. .lm.fit() is bare bone wrapper to the innermost QR-based C code, on which glm.fit and lsfit are based as well, for even more experienced users. 
Usage
lm.fit (x, y,    offset = NULL, method = "qr", tol = 1e-7,
       singular.ok = TRUE, ...)
lm.wfit(x, y, w, offset = NULL, method = "qr", tol = 1e-7,
        singular.ok = TRUE, ...)
.lm.fit(x, y, tol = 1e-7)
 Arguments
| x | design matrix of dimension  | 
| y | vector of observations of length  | 
| w | vector of weights (length  | 
| offset | (numeric of length  | 
| method | currently, only  | 
| tol | tolerance for the  | 
| singular.ok | logical. If  | 
| ... | currently disregarded. | 
Value
a list with components (for lm.fit and lm.wfit) 
| coefficients | 
 | 
| residuals | 
 | 
| fitted.values | 
 | 
| effects | 
 | 
| weights | 
 | 
| rank | integer, giving the rank | 
| df.residual | degrees of freedom of residuals | 
| qr | the QR decomposition, see  | 
Fits without any columns or non-zero weights do not have the effects and qr components. 
.lm.fit() returns a subset of the above, the qr part unwrapped, plus a logical component pivoted indicating if the underlying QR algorithm did pivot. 
See Also
lm which you should use for linear least squares regression, unless you know better. 
Examples
require(utils)
set.seed(129)
n <- 7 ; p <- 2
X <- matrix(rnorm(n * p), n, p) # no intercept!
y <- rnorm(n)
w <- rnorm(n)^2
str(lmw <- lm.wfit(x = X, y = y, w = w))
str(lm. <- lm.fit (x = X, y = y))
if(require("microbenchmark")) {
  mb <- microbenchmark(lm(y~X), lm.fit(X,y), .lm.fit(X,y))
  print(mb)
  boxplot(mb, notch=TRUE)
}
    Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.