Learn R Programming

SparseM (version 1.7)

slm.fit: Internal slm fitting functions

Description

Fitting functions for sparse linear model fitting.

Usage

slm.fit(x,y,method, ...) slm.wfit(x,y,weights,...) slm.fit.csr(x, y, ...)

Arguments

x
design matrix.
y
vector of response observations.
method
only csr is supported currently
weights
an optional vector of weights to be used in the fitting process. If specified, weighted least squares is used with weights `weights' (that is, minimizing $$\sum w_i*e_i^2$$ The length of weights must be the same as the number of observations. The weights must be nonnegative and it is strongly recommended that they be strictly positive, since zero weights are ambiguous.
...
additional arguments.

Value

A list of class slm consisting of:
coef
estimated coefficients
chol
cholesky object from fitting
residuals
residuals
fitted
fitted values
df.residual
degrees of freedom
terms
terms
call
call
...

Details

slm.fit and slm.wfit call slm.fit.csr to do Cholesky decomposition and then backsolve to obtain the least squares estimated coefficients. These functions can be called directly if the user is willing to specify the design matrix in matrix.csr form. This is often advantageous in large problems to reduce memory requirements.

References

Koenker, R and Ng, P. (2002). SparseM: A Sparse Matrix Package for R, http://www.econ.uiuc.edu/~roger/research

See Also

slm

Examples

Run this code
data(lsq)
X <- model.matrix(lsq) #extract the design matrix
y <- model.response(lsq) # extract the rhs
class(X) # -> "matrix.csr"
class(y) # -> NULL
slm.fit(X,y)->slm.fit.o # this is much more efficient in memory usage than slm()
slm(y~as.matrix(X)-1) -> slm.o # this requires X to be transformed into dense mode
cat("Difference between `slm.fit' and `slm' estimated coefficients =",
	sum(abs(slm.fit.o$coef-slm.o$coef)),"\n")

Run the code above in your browser using DataLab