[R] Help in getting aggregated data
Gabor Grothendieck
ggrothendieck at gmail.com
Sun Apr 1 07:19:43 CEST 2007
Try this:
aggregate(a[3], a[1:2], max)
On 3/31/07, Deepak Manohar <deepakmanohar at gmail.com> wrote:
> Hi team,
> I have the data of the form:
>
> > a<- data.frame(x=c(1,2,1,4,3), y=c(1,2,1,4,3), z=c(1,2,3,4,5))
>
> I need the output of the form
>
> > b<- data.frame(x=c(1,2,3,4), y=c(1,2,3,4), z=(3,2,5,4) )
>
> As you can see, the Z value contains the maximum for each of the (x,y)
> combinations.
>
> I used
> > c<-by(a$z, list(x=a$x, y=a$y), max)
> > c[,]
> y
> x 1 2 3 4
> 1 3 NA NA NA
> 2 NA 2 NA NA
> 3 NA NA 5 NA
> 4 NA NA NA 4
>
> Not sure If I have any standard function to convert this to the data
> frame that I need. Can you help me convert the last array into the
> data frame? If there is any other way apart from using the "by"
> function, please inform me regarding that as well.
>
> -- Deepak Manohar T
>
> ______________________________________________
> 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
> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list