Hallo Christoph! Using apply and sweep. Both of them accept as the second argument (MARGIN) a vector which specifies the dimension.
?apply ?sweep. To specify the subscripts accurately I always need some trials, and to run tests, so I cant you provide with the final solution. Hope it helps anyway. Sincerely Eryk. *********** REPLY SEPARATOR *********** On 7/20/2004 at 11:31 AM Christoph Lehmann wrote: >>>Dear R users >>> >>>I have a 4-dimensional matrix (actually several 3d (x,y, slices) >>>matrices appended over time (volumes)) >>> >>>say, e.g. I want to z-transform the data (subtract the mean and divide >>>by the std-deviation) >>> >>>for (slice in 1:slices) { >>> for (x in 1:x.dim) { >>> for (y in 1:y.dim) { >>> t <- as.matrix(my.matrix[x,y,slice,1:volumes]) >>> for (vol in 1:volumes) { >>> my.matrix.transformed[x,y,slice,vol] <- >>>(my.matrix[x,y,slice,vol] - mean(t))/sqrt(var(t)) >>> } >>> } >>> } >>>} >>> >>>how can I vectorize such a function using, one of the *apply functions? >>> >>>many thanks >>> >>>Cheers >>> >>>Christoph >>> >>>______________________________________________ >>>[EMAIL PROTECTED] mailing list >>>https://www.stat.math.ethz.ch/mailman/listinfo/r-help >>>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Dipl. bio-chem. Eryk Witold Wolski @ MPI-Moleculare Genetic Ihnestrasse 63-73 14195 Berlin 'v' tel: 0049-30-83875219 / \ mail: [EMAIL PROTECTED] ---W-W---- http://www.molgen.mpg.de/~wolski ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html