Hi, Try: set.seed(25) X<- matrix(sample(1:50,3*140,replace=TRUE),nrow=140) #either res1<-do.call(rbind,lapply(split(as.data.frame(X),((seq_len(nrow(X))-1)%/%10)+1),function(x) apply(x,2,mean))) #or res2<-t(sapply(split(as.data.frame(X),((seq_len(nrow(X))-1)%/%10)+1),colMeans)) identical(res1,res2) #[1] TRUE
#orlibrary(itertools) it<-ihasNext(isplitRows(X,chunkSize=10)) while(hasNext(it)){ print( apply(nextElem(it),2,mean)) } #[1] 23.4 29.1 31.5 #[1] 28.2 21.8 17.2 #[1] 14.3 24.3 36.4 #[1] 22.2 25.2 24.2 #[1] 28.5 22.6 27.3 #[1] 19.6 25.6 20.0 #[1] 25.7 16.3 27.9 #[1] 20.0 24.8 26.7 #[1] 26.3 30.0 33.0 #[1] 21.9 24.0 32.3 #[1] 25.6 27.2 34.4 #[1] 13.7 30.2 16.7 #[1] 23.2 27.0 25.3 #[1] 26.4 28.6 25.2 head(res1) # V1 V2 V3 #1 23.4 29.1 31.5 #2 28.2 21.8 17.2 #3 14.3 24.3 36.4 #4 22.2 25.2 24.2 #5 28.5 22.6 27.3 #6 19.6 25.6 20.0 A.K. Dear, I have a matrix with 140 rows. With the following code, I can calculate the mean of each column. > X <- matrix > apply(X,MARGIN=2,FUN=mean) But, how to calculate the mean of each 10 rows? Thank you at advance. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.