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 <jrkrid...@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 > Kingston ON Canada > > >> -----Original Message----- >> From: tmrs...@gmail.com >> Sent: Sat, 20 Jul 2013 12:36:55 -0400 >> To: b...@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 <b...@xs4all.nl> wrote: >>> >>> On 20-07-2013, at 18:05, C W <tmrs...@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? >>>> >>> >>> Well how about >>> >>> sum(a) >>> >>> or >>> >>> b <- rle(a) >>> sum(b$lengths[b$values]) >>> >>> Berend >>> >>>> Thanks, >>>> Mike >>>> >>>> ______________________________________________ >>>> R-help@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. >>> >> >> ______________________________________________ >> R-help@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. > > ____________________________________________________________ > Receive Notifications of Incoming Messages > Easily monitor multiple email accounts & access them with a click. > Visit http://www.inbox.com/notifier and check it out! > > ______________________________________________ R-help@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.