[R] Help in getting aggregated data

Deepak Manohar deepakmanohar at gmail.com
Sun Apr 1 01:51:25 CEST 2007


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



More information about the R-help mailing list