x <- rle(id) cumsum(x$lengths) - (x$lengths - 1) cumsum(x$lengths) Alan
On Tue, May 25, 2010 at 10:00 PM, Gabor Grothendieck <ggrothendi...@gmail.com> wrote: > This assumes that for a particular id they all occur together in a run: > >> cbind(start = which(!duplicated(id)), end = which(!duplicated(id, fromLast = >> TRUE))) > start end > [1,] 1 1 > [2,] 2 3 > [3,] 4 6 > [4,] 7 7 > [5,] 8 9 > > > On Wed, May 26, 2010 at 12:14 AM, Robin Jeffries <rjeffr...@ucla.edu> wrote: >> Hallo! >> >> I have a vector of ID's like so, >> id <- c(1,2,2,3,3,3,4,5,5) >> >> I would like to create a [start,stop] pair of vectors that index the first >> and last observation per ID. >> >> For the ID list above, it would look like >> 1 1 >> 2 3 >> 4 6 >> 7 7 >> 8 9 >> >> I haven't worked with indexes/data manipulation much in R, so any pointers >> would be helpful. >> >> Many thanks! >> >> ~~~~~~~~~~~~~~~~~~~ >> -Robin Jeffries >> Dr.P.H. Candidate in Biostatistics >> UCLA School of Public Health >> rjeffr...@ucla.edu >> 530-624-0428 >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org 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@r-project.org 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. > -- Alan Lue Master of Financial Engineering UCLA Anderson School of Management ______________________________________________ R-help@r-project.org 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.