[R] question R regarding consecutive numbers

David Winsemius dwinsemius at comcast.net
Thu Oct 27 16:43:43 CEST 2011


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 at 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



More information about the R-help mailing list