try this:

> x
[1]  1  2  3  6  7 10 11 12 13
> # find breaks
> breaks <- c(FALSE, diff(x) != 1)
> # now create matrix with groupings (just for visual)
> z <- data.frame(x, cumsum(breaks))
> # create list with first element of each seq and the length
> t(sapply(split(z, z[,2]), function(b) c(b[1,1], nrow(b))))
  [,1] [,2]
0    1    3
1    6    2
2   10    4


On Wed, Jun 10, 2009 at 1:28 PM, Eric Vander Wal <eric.vander...@usask.ca>wrote:

> Thanks in advance.
> I have a vector of numbers which contain sections that are sequences which
> increase by a value of 1 followed by a gap in the data and then another
> sequence occurs, etc:
>
> x<-c(1:3, 6: 7, 10:13)
>
> From the vector I need to extract 2 items of information A) the first
> number in the sequence (e.g., 1, 6, 10) and B) how many observations were in
> each  sequence section (e.g., 3, 2, 4).
>
> v1   v2
> 1      3
> 6      2
> 10    4
>
> It seems simple, but my R skills are still in their infancy so I very much
> appreciate the help.
> Eric
>
> --
> Eric Vander Wal
> Ph.D. Candidate
> University of Saskatchewan, Department of Biology,
> 112 Science Place, Saskatoon, SK., S7N 5E2
>
> "Pluralitas non est ponenda sine neccesitate"
>
> ______________________________________________
> 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<http://www.r-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?

        [[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.

Reply via email to