Are you looking for something like the following? ifactor() is like factor but assumes that x is integral and that levels should be {1, 2, ..., max(x)} with no gaps.
> x <- c(1,3,4,9,1,9,1,5,4,5,2,1,1,1,6) > ifactor <- function(x, levels=seq_len(max(0, x, na.rm=TRUE))) factor(x, > levels=levels) > with(rle(x), table(ifactor(values), ifactor(lengths))) 1 2 3 1 3 0 1 2 1 0 0 3 1 0 0 4 2 0 0 5 2 0 0 6 1 0 0 7 0 0 0 8 0 0 0 9 2 0 0 Also note that tbl["2","3"] does not mean the same as tbl[2,3], although if you use the ifactor function as above they will refer to the same element. Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On > Behalf Of Samir Benzerfa > Sent: Friday, October 28, 2011 12:35 AM > To: 'David Winsemius'; 'Duncan Murdoch' > Cc: r-help@r-project.org > Subject: Re: [R] question R regarding consecutive numbers > > In the general case, there is still a gap in your solution >sum( tbl["1", > 2:ncol(tbl)] ). This solution refers to a specific column number (here: > column number 2) and not to the actual length of the run, doesn't it? That > is, in this simple example the column number 2 actually corresponds to the > length "2", but this must not be the case in general. For instance if there > is no run of length "2" but only of length "1" and "3", the column number 2 > will refer to length "3" (try it with the new vector below). I realized this > problem when applying your solution to a much more extended vector. So, the > problem is that I would have to check manually whether the column number > really corresponds to the length of runs. A possible solution would be to > force R to show all the lengths from 1:ncol even if there is no run of some > lengths in-between and just fill the whole column with zero's. > > > x=c(1,3,4,9,1,9,1,5,4,5,2,1,1,1,6) > > Any ideas how to solve this problem? > > Cheers, S.B. > > > -----Ursprüngliche Nachricht----- > Von: David Winsemius [mailto:dwinsem...@comcast.net] > Gesendet: Donnerstag, 27. Oktober 2011 16:44 > An: Duncan Murdoch > Cc: Samir Benzerfa; r-help@r-project.org > Betreff: Re: [R] question R regarding consecutive numbers > > > On Oct 27, 2011, at 9:21 AM, Duncan Murdoch wrote: > > > On 27/10/2011 8:43 AM, Samir Benzerfa wrote: > >> Hi everyone > >> > >> > >> > >> Do you know about any possibility in R to check for consecutive > >> numbers in > >> vectors? That is, I do not only want to count the number of > >> observations in > >> total (which can be done table(x)), but I also want to count for > >> instance > >> how many times that vector contains a certain number consecutively. > >> > >> > >> > >> For example in the following vector x the number "1" appears 7 times. > >> However, I want to check for instance how many times two > >> consecutive 1's > >> appear in the vector, which would actually be two times the case in > >> the > >> below vector. > >> > >> > >> > >> > x=c(1,1,3,4,9,1,9,1,5,4,5,2,1,1,1,6) > >> > >> > >> > >> Any ideas for this issue? > > > > How about this? > > > > > runs <- rle(x) > > > with(runs, table(values, lengths)) > > And to go even a bit further, the table function returns a matrix > which can be addressed to yield the specific answer requested: > > with(runs, table(values, lengths))["1",2] > [1] 1 # m=number of exactly runs if length 2 > > sum( tbl["1", 2:ncol(tbl)] ) > [1] 2 # number of runs of length two or more. > > > -- > David > > > > > > lengths > > values 1 2 3 > > 1 2 1 1 > > 2 1 0 0 > > 3 1 0 0 > > 4 2 0 0 > > 5 2 0 0 > > 6 1 0 0 > > 9 2 0 0 > > > > Duncan > > > > ______________________________________________ > > 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. > > David Winsemius, MD > West Hartford, CT > > ______________________________________________ > 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. ______________________________________________ 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.