[R] local average

Rich FitzJohn rich.fitzjohn at gmail.com
Thu Apr 21 05:57:55 CEST 2005


Hi,

cut() and tapply() are your friends:
tapply(Y, cut(X, 0:100, include.lowest=TRUE), mean)

To compute medians, just pass median to tapply().  You will get NAs
where no data is found in any bin.

Cheers,
Rich

On 4/21/05, Jens Hainmueller <jens_hainmueller at ksg05.harvard.edu> wrote:
> Hello,
> 
> probably this isn't hard, but I can't get R to do this. Thanks for your
> help!
> 
> Assume I have a matrix of two covariates:
> 
> n    <- 1000
> Y    <- runif(n)
> X    <- runif(n,min=0,max=100)
> data <- cbind(Y,X)
> 
> Now, I would like to compute the local average of Y for each X interval 0-1,
> 1-2, 2-3, ... 99-100. In other words, I would like to obtain 100 (local)
> Ybars, one for each X interval with width 1.
> 
> Also, I would like to do the same but instead of local means of Y obtain
> local medians of Y for each X interval.
> 
> Best,
> Jens
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> 


-- 
Rich FitzJohn
rich.fitzjohn <at> gmail.com   |    http://homepages.paradise.net.nz/richa183
                      You are in a maze of twisty little functions, all alike




More information about the R-help mailing list