[R] find a sequence of characters in a vector

Sundar Dorai-Raj sdorairaj at gmail.com
Fri Jun 5 15:30:55 CEST 2009


use gregexpr and paste

> aze <- paste(c("a", "z", "e"), collapse = "")
> sequence <- paste(c("a","z","e","r","t","a","z","a","z","e","c"), collapse = "")
> gregexpr(aze, sequence, fixed = TRUE)
[[1]]
[1] 1 8
attr(,"match.length")
[1] 3 3

HTH,

--sundar

On Fri, Jun 5, 2009 at 6:22 AM, Ptit_Bleu<ptit_bleu at yahoo.fr> wrote:
>
> Hello,
>
> I'm just looking for an easy way to find the positions of a complete
> sequence in a bigger vector.
> For example :
> c("a","z","e") in c("a","z","e","r","t","a","z","a","z","e","c")
> and the result should be
> 1 8
> that is the positions of the beginning of the complete sequence.
>
> I tried with %in%, match, is.element but all I get is, for example
> which(c("a","z","e") in c("a","z","e","r","t","a","z","a","z","e","c"))
> 1 2 3
> meaning that each character is in the bigger vector.
>
> It must be easy, except for me. Sorry.
>
> If you have a solution, thanks in advance to share it.
> Have a good week-end,
> Ptit Bleu.
>
> --
> View this message in context: http://www.nabble.com/find-a-sequence-of-characters-in-a-vector-tp23888063p23888063.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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