[R] Finding "runs" of TRUE in binary vector
Vadim Ogranovich
vograno at evafunds.com
Thu Jan 27 23:29:34 CET 2005
Untested:
c(TRUE, b[-1] != b[-length(b)]) gives you the (logical) indexes of the
beginnings of the runs
c(b[-1] != b[-length(b)], TRUE) gives you the (logical) indexes of the
ends of the runs
> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Sean Davis
> Sent: Thursday, January 27, 2005 2:14 PM
> To: r-help
> Subject: [R] Finding "runs" of TRUE in binary vector
>
> I have a binary vector and I want to find all "regions" of
> that vector that are runs of TRUE (or FALSE).
>
> > a <- rnorm(10)
> > b <- a<0.5
> > b
> [1] TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE TRUE TRUE
>
> My function would return something like a list:
> region[[1]] 1,3
> region[[2]] 5,5
> region[[3]] 7,10
>
> Any ideas besides looping and setting start and ends directly?
>
> Thanks,
> Sean
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
More information about the R-help
mailing list