orthog | R Documentation |
Function orthog
orthogonalizes a matrix Y
to a matrix X
. The row observations can be weighted.
The function uses function lm
.
orthog(X, Y, weights = NULL)
X |
A |
Y |
A |
weights |
A vector of length |
Y |
The |
b |
The regression coefficients used for orthogonalization. |
n <- 8 ; p <- 3 ; q <- 2
set.seed(1)
X <- matrix(rnorm(n * p), ncol = p)
Y <- matrix(rnorm(n * q), ncol = q)
colnames(Y) <- c("y1", "y2")
set.seed(NULL)
X
Y
res <- orthog(X, Y)
res$Y
crossprod(res$Y, X) # ===> orthogonal
res$b
# Same as:
fm <- lm(Y ~ X - 1)
Y - fm$fitted.values
fm$coef
#### WITH WEIGHTS
w <- 1:n
fm <- lm(Y ~ X - 1, weights = w)
Y - fm$fitted.values
fm$coef
res <- orthog(X, Y, weights = w)
res$Y
crossprod(res$Y, w * X) # ===> orthogonal in metric w
res$b
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.