Is this what you are after: > x = c(1 ,2 ,4 ,7 ,9 ,10 ,15) > # partition if the difference is > 2) > breaks <- cumsum(c(0, diff(x) > 2)) > # partition into different lists > split(x, breaks) $`0` [1] 1 2 4
$`1` [1] 7 9 10 $`2` [1] 15 On Sat, May 21, 2011 at 6:03 PM, Salih Tuna <saliht...@gmail.com> wrote: > Hi Robert, > thanks for your reply. is there a way to store them in separate vectors? > and when i try it with a different example i got different result. For > example if x = [1 2 8 9] > i want the result to be x1 = [1 2] and x2 = [8 9]. > thanks > > On Sat, May 21, 2011 at 7:16 PM, Robert Baer <rb...@atsu.edu> wrote: > >> Hi everyone, >>> i am trying to group close numbers in a vector. >>> For example i have a vector x = [1 2 4 7 9 10 15]. >>> I want the code to pick 1 2 4 (max difference between successive numbers >>> is >>> 2) and assign them to variable a, then pick 7 9 10 and assign them to b >>> and >>> 15 to c. But since i do not know how many groups there will be the code >>> should create a,b,c etc as it goes along. So if x = [1 2 4 7 9 10 15 20] >>> it >>> should create a,b,c and d this time and assign 20 to d (while the others >>> remain the same). >>> >> >> I think the following function should do basically what you want: >> codeit = function(x){ >> action = c(TRUE, diff(x) <= 2) >> g = paste('x', '1', sep='') >> j = 1 >> for (i in 2: length(x)){ >> if (action[i-1] != action[i] | action[i] == FALSE) j = j+1 >> g[i] = paste('x', j, sep='') >> } >> df = data.frame(x, grp.x=g) >> } >> >> >> >> >> ------------------------------------------ >> Robert W. Baer, Ph.D. >> Professor of Physiology >> Kirksville College of Osteopathic Medicine >> A. T. Still University of Health Sciences >> 800 W. Jefferson St. >> Kirksville, MO 63501 >> 660-626-2322 >> FAX 660-626-2965 >> >> >> > > [[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. > -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? ______________________________________________ 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.