lm.fit
Fitter Functions for Linear Models
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 QRbased C code, on which
glm.fit
and lsfit
are based as well, for
even more experienced users.
 Keywords
 regression, array
Usage
lm.fit (x, y, offset = NULL, method = "qr", tol = 1e7, singular.ok = TRUE, ...)
lm.wfit(x, y, w, offset = NULL, method = "qr", tol = 1e7, singular.ok = TRUE, ...)
.lm.fit(x, y, tol = 1e7)
Arguments
 x
 design matrix of dimension
n * p
.  y
 vector of observations of length
n
, or a matrix withn
rows.  w
 vector of weights (length
n
) to be used in the fitting process for thewfit
functions. Weighted least squares is used with weightsw
, i.e.,sum(w * e^2)
is minimized.  offset
 numeric of length
n
). This can be used to specify an a priori known component to be included in the linear predictor during fitting.  method
 currently, only
method = "qr"
is supported.  tol
 tolerance for the
qr
decomposition. Default is 1e7.  singular.ok
 logical. If
FALSE
, a singular model is an error.  ...
 currently disregarded.
Value

a
 coefficients
p
vector residuals
n
vector or matrix fitted.values
n
vector or matrix effects
n
vector of orthogonal singledf effects. The firstrank
of them correspond to nonaliased coefficients, and are named accordingly. weights
n
vector  only for the*wfit*
functions. rank
 integer, giving the rank
 df.residual
 degrees of freedom of residuals
 qr
 the QR decomposition, see
qr
. Fits without any columns or nonzero weights do not have the
list
with components (for lm.fit
and lm.wfit
)
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
library(stats)
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)
}
Community examples
Looks like there are no examples yet.