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

John Kane jrkrideau at inbox.com
Sat Jul 20 19:41:34 CEST 2013

```Beats me. I get:
table(dd)
val
leng TRUE
1    3
3   12

What does dd look like.  In my case I get this where the first column is the row number
dd
leng  val
1     3 TRUE
3     3 TRUE
5     3 TRUE
7     3 TRUE
9     3 TRUE
11    1 TRUE
13    3 TRUE
15    3 TRUE
17    3 TRUE
19    3 TRUE
21    3 TRUE
23    3 TRUE
25    1 TRUE
27    3 TRUE
29    1 TRUE

John Kane

> -----Original Message-----
> From: tmrsg11 at gmail.com
> Sent: Sat, 20 Jul 2013 13:11:47 -0400
> To: jrkrideau at inbox.com
> Subject: Re: [R] How to search for a sequence(and its combination) inside
> a vector?
>
> Thanks John.
>
> Why do I get length of 5 and 6?  I thought I am only tallying up 1 to 3?
>> table(dd)
>     val
> leng TRUE
>    1    5
>    2    4
>    3   81
>    5    1
>    6    4
>
> -M
>
> On Sat, Jul 20, 2013 at 12:52 PM, John Kane <jrkrideau at inbox.com> wrote:
>> Taking Berend's example a bit further, this seems to work
>>
>> If you use str(b) you will see it is a list
>>
>> b <- rle(a)
>> cc  <-  data.frame(b[[1]], b[[2]])
>> names(cc)  <-  c("leng", 'val')
>> dd  <-  subset(cc, val ==TRUE )
>> table(dd)
>>
>> John Kane
>>
>>
>>> -----Original Message-----
>>> From: tmrsg11 at gmail.com
>>> Sent: Sat, 20 Jul 2013 12:36:55 -0400
>>> To: bhh at xs4all.nl
>>> Subject: Re: [R] How to search for a sequence(and its combination)
>>> inside
>>> a vector?
>>>
>>> Hi Berend
>>> I am looking for a table,
>>> # of times one element (out of 1, 2, 3) showed up, two elements, and
>>> all
>>> three.
>>>
>>> I am trying, don't know if this works:
>>>
>>>> aa <- rle(a)
>>>> b <- aa\$lengths[aa\$values]
>>>> table(b)
>>> b
>>>  1  3
>>>  3 12
>>>
>>> Mike
>>>
>>>
>>>
>>> On Sat, Jul 20, 2013 at 12:24 PM, Berend Hasselman <bhh at xs4all.nl>
>>> wrote:
>>>>
>>>> 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?
>>>>>
>>>>
>>>>
>>>> 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
>>>>> http://www.R-project.org/posting-guide.html
>>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>
>>>
>>> ______________________________________________
>>> R-help at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>
>> ____________________________________________________________