Both aggregate and custom functionality given by Jim works.
Thanks
On 4/1/07, Gabor Grothendieck [EMAIL PROTECTED] wrote:
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),
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,
Try this:
a
x y z
1 1 1 1
2 2 2 2
3 1 1 3
4 4 4 4
5 3 3 5
# create indices of groups
indices - split(seq(nrow(a)), list(a$x, a$y), drop=TRUE)
combine - lapply(indices, function(.ind){
+ # create a row representing the max of z
+ c(x=a$x[.ind[1]], y=a$y[.ind[1]], z=max(a$z[.ind]))
+
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