[R] Averaging 'blocks' of data

Dylan Beaudette dylan.beaudette at gmail.com
Sun Sep 7 21:39:22 CEST 2008


On Sun, Sep 7, 2008 at 12:32 PM, Steve Murray <smurray444 at hotmail.com> wrote:
>
>
> Dear all,
>
> I have a large dataset which I hope to reduce in size, to make it more useable. I hope to do this by taking an average of each 60 x 60 blockof values and forming a new data frame out of the averaged values.

what does the data look like? vector / matrix / list ?

>
> How would I go about taking averages of 60 x 60 'blocks' in R, and cycling through the whole dataset, recording each calculated value in a new table/data frame?

some form of apply(), tapply(), mapply(), or lapply() would probably
do what you want

> Many thanks for any advice offered.
>
> Steve
>

Here is a start:

# step 1. too much data: 10x10 matrix
m <- matrix(runif(100), ncol=10)

# step 2. reduce down to a 10x1 vector, averaging-by-row:
apply(m, 1, mean)

# step 3 profit.

Dylan



More information about the R-help mailing list