[R] detect subset in series

R. Michael Weylandt michael.weylandt at gmail.com
Wed Nov 16 16:07:48 CET 2011


If your data is also binary like that below, it might be useful/easier
to use regular expressions tools as well:

e.g.,
series <- c(1,1,1,0,1,0,0,1,1,0,0,0,0,1)
subset <- c(0,0,0,0)

print(regexpr(paste(subset, collapse = ""),paste(series, collapse = "")))

Michael

On Wed, Nov 16, 2011 at 9:55 AM, David Winsemius <dwinsemius at comcast.net> wrote:
>
> On Nov 16, 2011, at 8:25 AM, threshold wrote:
>
>> Dear R Users, I am curious whether there is any simple solution o my
>> problem.
>>
>> My example 'series':
>> series <- c(1,1,1,0,1,0,0,1,1,0,0,0,0,1)
>>
>> My 'subset' of interest:
>> subset <- c(0,0,0,0)
>>
>> Is there any function which tells me that the subset exists in my series,
>> and gives me position where in series is starts. In provided example the
>> subset exists and covers the elements 10:13 of the 'series'.
>
> ?rle
> ?cumsum   # may be needed to accumulate the number of postions before the
> rle$lengths criterion is first met.
>
> --
>
> David Winsemius, MD
> West Hartford, CT
>
> ______________________________________________
> 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