Try this: aggregate(a[3], a[1:2], max)
On 3/31/07, Deepak Manohar <[EMAIL PROTECTED]> 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@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. > ______________________________________________ R-help@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.