Re: [R] Vector grouping challenge

2009-10-28 Thread jim holtman
What the breaks are is that you are looking to see where the NAs start. In your case, you wanted the value at the start of the NA string to be grouped with the following NAs. The 'is.na' will return TRUE for NAs and if you invert the vector, you will have TRUE for each of the non-NA values. By d

Re: [R] Vector grouping challenge

2009-10-28 Thread Johannes Graumann
Just so. I got until 'split' but was stuck on how to get the breaks ... Thank you! Joh jim holtman wrote: > Is this what you want: > >> testVector <- c(12,32,NA,NA,56,NA,78,65,87,NA,NA,NA,90) >> # get the breaks at the NAs >> xb <- cumsum(!is.na(testVector)) >> split(seq(length(testVector)

Re: [R] Vector grouping challenge

2009-10-28 Thread jim holtman
Is this what you want: > testVector <- c(12,32,NA,NA,56,NA,78,65,87,NA,NA,NA,90) > # get the breaks at the NAs > xb <- cumsum(!is.na(testVector)) > split(seq(length(testVector)), xb) $`1` [1] 1 $`2` [1] 2 3 4 $`3` [1] 5 6 $`4` [1] 7 $`5` [1] 8 $`6` [1] 9 10 11 12 $`7` [1] 13 On Wed, O

[R] Vector grouping challenge

2009-10-28 Thread Johannes Graumann
Dear all, Is there an efficient way to get this list > testList <- list(c(1),c(2,3,4),c(5,6),c(7),c(8),c(9,10,11,12),c(13)) from this vector > testVector <- c(12,32,NA,NA,56,NA,78,65,87,NA,NA,NA,90) ? Basically the vector should be grouped, such that non-NA and all following NAs end up in one g