[R] How to search for a sequence(and its combination) inside a vector?
C W
tmrsg11 at gmail.com
Sat Jul 20 18:05:42 CEST 2013
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?
Thanks,
Mike
More information about the R-help
mailing list