[R] How to search for a sequence(and its combination) inside a vector?

Berend Hasselman bhh at xs4all.nl
Sat Jul 20 18:24:29 CEST 2013


On 20-07-2013, at 18:05, C W <tmrsg11 at gmail.com> wrote:

> Hi R list,
> 
> I have a sequence repeating 1:15 .  Some numbers are deleted.  I want
> to find how many times 1, 2, 3 appeared.
> Basically, I want to "grab" the beginning of the sequence and tally it up.
> 
> R code:
> 
>> vec <- c(1, 2, 3, 4, 5, 6, 7, 8, 13, 1, 2, 3, 5, 7, 8, 10, 12, 13, 14,
> 15, 1, 2, 3, 5, 6, 10, 12, 13, 1, 2, 3, 4, 5, 6, 7, 12, 13, 14,
> 15, 1, 2, 3, 6, 9, 10, 11, 13, 14, 1, 7, 10, 13, 1, 2, 3, 4,
> 6, 7, 9, 11, 14, 1, 2, 3, 5, 9, 10, 11, 12, 14, 1, 2, 3, 4, 1,
> 2, 3, 4, 11, 12, 14, 1, 2, 3, 4, 8, 11, 12, 1, 2, 3, 4, 5, 7,
> 8, 9, 11, 12, 15, 3, 14, 1, 2, 3, 6, 10, 11, 13, 14, 1)
> 
>> a <- vec %in% c(1, 2, 3)
>> a
>  [1]  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE
> TRUE  TRUE FALSE FALSE
> [15] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE
> FALSE FALSE FALSE FALSE
> [29]  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
> FALSE  TRUE  TRUE  TRUE
> [43] FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE FALSE
> TRUE  TRUE  TRUE FALSE
> [57] FALSE FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE
> FALSE FALSE FALSE FALSE
> [71]  TRUE  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE
> FALSE  TRUE  TRUE  TRUE
> [85] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE
> FALSE FALSE FALSE FALSE
> [99] FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE  TRUE
> 
>> rle(a)
> Run Length Encoding
>  lengths: int [1:29] 3 6 3 8 3 5 3 8 3 6 ...
>  values : logi [1:29] TRUE FALSE TRUE FALSE TRUE FALSE ...
> 
> What should I do after this?
> 

Well how about

sum(a)

or 

b <- rle(a)
sum(b$lengths[b$values])

Berend

> Thanks,
> Mike
> 
> ______________________________________________
> 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.



More information about the R-help mailing list