QR Decomposition Preserving Selected Columns
Runs a matrix through the QR decomposition and returns the transformed matrix and the forward and inverse transforming matrices R, Rinv
. If columns of the input matrix X
are centered the QR transformed matrix will be orthogonal. This is helpful in understanding the transformation and in scaling prior distributions on the transformed scale. not
can be specified to keep selected columns as-is. cornerQr
leaves the last column of X
alone (possibly after centering). When not
is specified, the square transforming matrices have appropriate identity submatrices inserted so that recreation of original X
is automatic.
selectedQr(X, not = NULL, corner = FALSE, center = TRUE)
X |
a numeric matrix |
not |
an integer vector specifying which columns of |
corner |
set to |
center |
set to |
list with elements X, R, Rinv, xbar
where xbar
is the vector of means (vector of zeros if center=FALSE
)
Ben Goodrich and Frank Harrell
x <- 1 : 10 X <- cbind(x, x^2) w <- selectedQr(X) w with(w, X %*% R) # = scale(X, center=TRUE, scale=FALSE) Xqr <- w$X plot(X[, 1], Xqr[, 1]) plot(X[, 1], Xqr[, 2]) cov(X) cov(Xqr) X <- cbind(x, x^3, x^4, x^2) w <- selectedQr(X, not=2:3) with(w, X %*% R)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.