if (FALSE) {
if (requireNamespace("MASS", quietly = TRUE)) {
# 1. Generate sample data ------------------------------------------------------
n <- 100 # observations
D <- 15 # parts/variables
Sig <- diag(D-1) # positive-definite symmetric matrix -> covariance matrix
mu <- c(rep(0, D-1)) # means of variables
set.seed(123)
# ilr coordinates
Z <- MASS::mvrnorm(n,mu,Sigma = Sig)
# Z -> CoDa X
V <- compositions::ilrBase(D = D) # ilrBase() in library(compositions)
X <- as.matrix(as.data.frame(acomp(exp(Z%*%t(V)))))
# Response y:
beta <- runif(D-1,0.1,1)
eps <- rnorm(n)
y <- Z%*%beta+eps
# 2. Calculate PLS PBs
PLS_balances <- fBalChip_PLS(X,y,version = "cov") # version = "cov" -> max. covariance
balances <- PLS_balances$bal
}
}
Run the code above in your browser using DataLab