Thanks to David, Thierry and Jonathan for your help. I have been able to put this function together
a=1:10 b=20:30 c=40:50 x=c(a,b,c) seq.matrix <- function(x){ lower<- x[which(diff(x) != 1)] upper <- x[which(diff(x) != 1)+1] extremities <- c(1,lower, upper,x[length(x)]) m <- data.frame(matrix(extremities[order(extremities)],ncol=2,byrow=TRUE,dimnames=list(rows=paste("group",1:(length(lower)+1),sep=""),cols=c("lower","upper")))) m$length=m$upper-m$lower+1 m } s.m=seq.matrix(x) s.m lower upper length group1 1 10 10 group2 20 30 11 group3 40 50 11 One can then make a test to see if a certain value (say 9) falls within one of the groups and use that to find the group name or lower or upper border s.m.test=function(s.m,i){which(s.m[,1] <i & i < s.m[,2])} s.m.test(s.m,i=9) [1] 1 e.g. row.names(s.m)[s.m.test(s.m,i=9)] [1] "group1" Cheers Christiaan On 1 June 2011 14:31, Jonathan Daily <biomathjda...@gmail.com> wrote: > > I am assuming in this case that you are looking for continuity along > integers, so if you expect noninteger values this will not work. > > You can get the index of where breaks can be found in your example using > > which(diff(x) > 1) > > On Wed, Jun 1, 2011 at 6:27 AM, christiaan pauw <cjp...@gmail.com> wrote: > > Hallo Everybody > > > > Consider the following vector > > > > a=1:10 > > b=20:30 > > c=40:50 > > x=c(a,b,c) > > > > I need a function that can tell me that there are three set of continuos > > sequences and that the first is from 1:10, the second from 20:30 and the > > third from 40:50. In other words: a,b, and c. > > > > regards > > Christiaan > > > > [[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. > > > > > > -- > =============================================== > Jon Daily > Technician > =============================================== > #!/usr/bin/env outside > # It's great, trust me. ______________________________________________ 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.