concoreg(x,y,py,r)
The second solution is obtained from the same criterion, but after replacing each yi by $y_i-y_i*v_i[,1]*v_i[,1]'$. And so on for the successive solutions 1,2,...,r . The biggest number of solutions may be $r=inf(n,p,q_i)$, when the matrices x'*yi are supposed with full rank. For a set of r solutions, the matrix (cx)'*y*V is diagonal : "on average", the explanatory component of one solution is only linked with the components explained by this explanatory, and is not linked with the explained components of the other solutions. The matrices $(cx)'*y_j*v_j$ are triangular : the explanatory component of one solution is not linked with each of the partial components explained in the following solutions. The definition of the explanatory components depends on the partition vector py from the second solution.
This function is using concor function
Chessel D. & Hanafi M. (1996) Analyses de la Co-inertie de K nuages de points. Revue de Statistique Appliquee vol.44, n.2. (this ACOM analysis of one multiset is obtained by the command : concoreg(Y,Y,py,r))
x<-matrix(runif(50),10,5);y<-matrix(runif(90),10,9)
x<-scale(x);y<-scale(y)
co<-concoreg(x,y,c(3,2,4),2)
((t(co$cx[,1])%*%y[,1:3]%*%co$v[1:3,1])/10)^2;co$varexp[1,1]
t(co$cx)%*%co$cx /10
diag(t(co$cx)%*%y%*%co$V/10)^2
sum(co$varexp[,1]);sum(co$varexp[,2])
Run the code above in your browser using DataLab