Skip to content

loop command to matrix

1 message · arun

#
HI Eliza,
No problem.
You could also use:

set.seed(5)
mat1<-matrix(sample(1:400,80,replace=TRUE),ncol=8,nrow=10)
library(plyr)

resnew<-do.call(cbind,lapply(alply(mat1,2),function(x) x-colMeans(t(mat1)[!colnames(mat1)%in%names(alply(mat1,2))[match.call()[[2]][[3]]],])))


resprev<-t(do.call(rbind,lapply(lapply(split(mat1,col(mat1)),function(x) cbind(matrix(x,ncol=1),mat1)),function(x){ res1<-rowMeans(t(apply(x,1,function(x) x[!(duplicated(x)|duplicated(x,fromLast=TRUE))])))
? res<-x[,1]-res1
? res})))
?identical(resprev,resnew)
#[1] TRUE
A.K.