Solves \(B = (Z^T Z + L2)^{-1} Z^T Y\) with ridge penalty matrix L2.
ridge_B(Y, Z, L2k)A numeric matrix of size k x samples.
set.seed(123)
genes <- paste0("Gene", 1:50)
samples <- paste0("S", 1:20)
k <- 5
Y <- matrix(rnorm(50 * 20), nrow = 50, dimnames = list(genes, samples))
Z <- matrix(rnorm(50 * k),
nrow = 50,
dimnames = list(genes, paste0("LV", 1:k))
)
lambda <- 0.1
L2k <- diag(lambda, k)
# Solve for B = (Z'Z + L2)^(-1) Z'Y
B <- ridge_B(Y, Z, L2k)