Re: [R] conditional grouping of variables: ave or tapply or by or???

2009-04-23 Thread Gabor Grothendieck
Try this: > df$v4 <- ave(1:nrow(df), df$v1, FUN = function(i) with(df[i,], v2[!v3])) > df v1 v2 v3 v4 1 10 7 0 7 2 10 5 1 7 3 10 7 2 7 4 11 9 0 9 5 11 7 2 9 > # If as is the case here that 0 is always the first in each v1 group > # then it can be simplified further to: > df$v4 <

Re: [R] conditional grouping of variables: ave or tapply or by or???

2009-04-23 Thread hadley wickham
On Thu, Apr 23, 2009 at 5:11 PM, ozan bakis wrote: > Dear R Users, > I have the following data frame: > > v1 <- c(rep(10,3),rep(11,2)) > v2 <- sample(5:10, 5, replace = T) > v3 <- c(0,1,2,0,2) > df <- data.frame(v1,v2,v3) >> df >  v1 v2 v3 > 1 10  9  0 > 2 10  5  1 > 3 10  6  2 > 4 11  7  0 > 5 11

[R] conditional grouping of variables: ave or tapply or by or???

2009-04-23 Thread ozan bakis
Dear R Users, I have the following data frame: v1 <- c(rep(10,3),rep(11,2)) v2 <- sample(5:10, 5, replace = T) v3 <- c(0,1,2,0,2) df <- data.frame(v1,v2,v3) > df v1 v2 v3 1 10 9 0 2 10 5 1 3 10 6 2 4 11 7 0 5 11 5 2 I want to add a new column v4 such that its values are equal to the v