data(expenditures)
x <- expenditures
# construct orthonormal basis:
V <- matrix(0,nrow=ncol(x),ncol=ncol(x)-1)
for (i in 1:ncol(V)){
V[1:i,i] <- 1/i
V[i+1,i] <- (-1)
V[,i] <- V[,i]*sqrt(i/(i+1))
}
z <- ilr(x) #ilr transformed data
y <- z
set.seed(200)
require(robustbase)
z.mcd <- covMcd(z)
mean_z <- z.mcd$center
mean_y <- V
var_z <- z.mcd$cov
var_y <- V
#classical scaling
y.sc <- scale(y,scale=FALSE) #only centering
#robust scaling
#y.rsc <- scale(y,mean_y,scale=FALSE) #only centering
res1logcentr <- pfa(y.sc, factors=1, scores="Bartlett", rotation="varimax")
#res1Rlogcentr <- pfa(y.rsc, factors=1, covmat=var_y, scores="Bartlett", rotation="varimax")
Run the code above in your browser using DataLab