Hi Jim, I think i sorted it out how to read and write each vector separately. Thanks a lot. It was exactly what i wanted to do. best, salih
On Sat, May 21, 2011 at 11:41 PM, jim holtman <jholt...@gmail.com> wrote: > 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? > [[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.