[R] Analog to matlab repmat function

Daniil Ivanov daniil.ivanov at gmail.com
Mon May 29 03:09:58 CEST 2006


Hello,

 I'm trying to switch from Matlab to R-project, and having some difficulties.
 I make a use of multidimensional matrices. For example, I need to extract
 mean from one of the dimensions:

 % we have matrix data of size: 130 x 11 x 350 x 2
 data = data - repmat(mean(data,3),[130 1 1 1]);

 In R project I managed to do that in a very pervarsive way:

 # mean(data,3) in R
 base <- apply(data,c(2,3,4),mean)
 # repmat(...,[130 1 1 1])
 base <- rep(base,130)
 dim(base) <- c(11,2,350,130)
 base <- aperm(base,c(4,1,2,3))
 # data = data - repmat
 data <- data - base;

 Could you please show me a more elegant way of doing the same in R :)

Thanks, Daniil.



More information about the R-help mailing list