## create a 15x3 matrix
mtx <- matrix(rnorm(45),15,3)
## a list of factors
fl <- list(g1=factor(sample(2,nrow(mtx),replace=TRUE)),
g2=factor(sample(3,nrow(mtx),replace=TRUE)))
## centre on both means and print result
mtx0 <- demeanlist(mtx,fl)
cbind(mtx0,g1=fl[[1]],g2=fl[[2]],comp=compfactor(fl))
for(i in 1:ncol(mtx0))
for(n in names(fl))
cat('col',i,'group',n,'level sums:',tapply(mtx0[,i],fl[[n]],mean),'<n>')</n>
Run the code above in your browser using DataLab