Ensure Full Rank Design Matrix
Coefficients (columns) are dropped from a design matrix to ensure that it has full rank.
drop.coef(X, silent = FALSE)
X |
a design matrix, e.g., the result of |
silent |
should a message not be issued if X is column rank deficient? |
Redundant columns of the design matrix are identified with the
LINPACK implementation of the qr
decomposition and
removed. The returned design matrix will have qr(X)$rank
columns.
The design matrix X
without redundant columns.
Rune Haubo B Christensen
X <- model.matrix( ~ PRODID * DAY, data = soup) ncol(X) newX <- drop.coef(X) ncol(newX) ## Essentially this is being computed: qr.X <- qr(X, tol = 1e-7, LAPACK = FALSE) newX <- X[, qr.X$pivot[1:qr.X$rank], drop = FALSE] ## is newX of full column rank? ncol(newX) == qr(newX)$rank ## the number of columns being dropped: ncol(X) - ncol(newX)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.