[R] comparing with lead function

hadley wickham h.wickham at gmail.com
Wed Oct 15 14:45:16 CEST 2008


On Wed, Oct 15, 2008 at 5:59 AM, Michael Pearmain <mpearmain at google.com> wrote:
> Hi All,
> I've been trying to compare if the previous value in a variable is equal to
> a binary value..(i.e i want to check if the last event was a yes or no)
>
> i've been trying to write some code for this, but it seems overly elaborate,
> can anyone suggest a better / shorter / neater way?
> The below doesn't quite work but shows my idea of splitting by the factor
> id, then creating a new vector that is lead, then i was going to use an
> ifelse clause..
>
> But as i suggested this seem very elaborate.. my sample code below

How about:

library(plyr)
ddply(DF, .(id), transform, diff = c(NA, tail(time, -1)))

This splits the data frame up by id, transforms each piece in the same
way as your code (but expressed a little more elegantly) and then
joins the pieces back together.

More info about plyr is available at http://had.co.nz/plyr

Regards,

Hadley

-- 
http://had.co.nz/



More information about the R-help mailing list