n <- 8 ; p <- 3
set.seed(1)
X <- matrix(rnorm(n * p, mean = 10), ncol = p, byrow = TRUE)
Y <- matrix(rnorm(n * 2, mean = 10), ncol = 2, byrow = TRUE)
colnames(Y) <- c("y1", "y2")
set.seed(NULL)
X
Y
res <- orthog(X, Y)
res$Y
crossprod(res$Y, X)
res$b
# Same as:
fm <- lm(Y ~ X)
Y - fm$fitted.values
fm$coef
#### WITH WEIGHTS
w <- 1:n
fm <- lm(Y ~ X, weights = w)
Y - fm$fitted.values
fm$coef
res <- orthog(X, Y, weights = w)
res$Y
t(res$Y)
res$b
Run the code above in your browser using DataLab