Take a look at tapply and %/% which could help you to create indices for groups.


> x=cbind(id=1:23,var1=rnorm(23))
> tapply(x[,"var1"],1:length(x[,"var1"])%/%5,rowMeans)
           0            1            2            3            4
 0.393473633  0.412297253 -0.221925003 -0.005212217 -1.564881727

If your data has severall variables, also look at aggregate

> x=cbind(var1=rnorm(23),var2=rnorm(23))
> aggregate(x,by=list(groups=1:dim(x)[1]%/%5),FUN=mean)

(and then you can call rowMeans on the result)

Eric


At 14:03 4/12/2003, Jan Wantia wrote:
Dear all!

After hours of trying around, I gave up:

I have a 2-dimensional array, and I know how to split it into its rows and how to get the mean for every row using 'sapply'.
But what I want is to calculate the mean over the first n rows, and then the second n rows, etc., so that I get a vector like:


v == mean1(row 1:5), mean2(row6:10),...

(trivial, you might say. I find it rather mind-boggling, though: I tried to get the mean from the array before splitting it, after splitting it, looping through it with for-loops...I feel like an idiot by now; looks like I missed a crucial point of how 'R' works.)

Thanks a lot in advance!
--

______________________________________________________

Jan Wantia
Dept. of Information Technology, University of Zürich
Andreasstr. 15
CH 8050 Zürich
Switzerland

Tel.:     +41 (0) 1 635 4315
Fax:     +41 (0) 1 635 45 07
email: [EMAIL PROTECTED]

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help



-------------------------------------------------- L'erreur est certes humaine, mais un vrai désastre nécessite un ou deux ordinateurs. Citation anonyme -------------------------------------------------- Eric Lecoutre Informaticien/Statisticien Institut de Statistique / UCL

TEL (+32)(0)10473050       [EMAIL PROTECTED]
URL http://www.stat.ucl.ac.be/ISpersonnel/lecoutre

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help

Reply via email to