if (FALSE) {
if (requireNamespace("MASS", quietly = TRUE)) {
# 1. Generate sample data
n <- 100 # observations
D <- 10 # parts/variables
Sig <- diag(D-1) # positive-definite symmetric matrix -> covariance matrix
mu <- c(rep(0, D-1)) # means of variables
set.seed(1234)
# ilr coordinates
Z <- MASS::mvrnorm(n,mu,Sigma = Sig)
# Z -> CoDa X
V <- compositions::ilrBase(D = D)
X <- as.matrix(as.data.frame(acomp(exp(Z%*%t(V)))))
# 2. Apply sPCA to pairwise logratios
alpha_max <- 1 # specify max value of tuning parameter
alpha_nbr <- 50 # specify number of tuning parameters
alpha_ratio <- 1000 # specify ratio of largest to smallest tuning parameter
a <- sort(alpha_grid,decreasing=F) # zero included
# Models for different values of alpha parameters, calculating PC1 and PC2
models <- list()
for(i in 1:length(a)){
models[[i]] <- spca_logrs(X=X, alpha = a[i], k = 2, draw = F)
}
}
}
Run the code above in your browser using DataLab