You could use findInterval to find which interval each element is in, then
use table to count up how many are in each interval:

> table(findInterval( 1:10, c(3,5,6,10) + 10*.Machine$double.eps ) )

0 1 2 3
3 2 1 4



On Tue, Sep 17, 2013 at 4:15 AM, <gildororonar@mail-on.us> wrote:

> I can do this:
>
>  1:10 %in% c(3, 5, 6, 10)
>>
>  [1] FALSE FALSE  TRUE FALSE  TRUE  TRUE FALSE FALSE FALSE  TRUE
>
> but what I wish to get is:
>
> [1] 3 2 1 4
>
> let me explain:
>
> 3 # [1:3] ends with TRUE, i.e. FALSE FALSE  TRUE
> 2 # [4:5] ends with TRUE, i.e. FALSE  TRUE
> 1 # [6:6] ends with TRUE, i.e. TRUE
> 4 # [7:10] ends with TRUE, i.e. FALSE FALSE FALSE TRUE
>
> That is, %in% gave me a serial whether or not the element is in a set, the
> length is equal to the former, i.e. 1:10
>
> But I wish to get a serial of intevals of occurance of the element in the
> set, the length is equal to the latter i.e. c(3, 5, 6, 10)
>
> With ths task of finding the intervals, I found, with googling, a function
> called findInterval. I did read every line of that manual, and it seems to
> be for a completely different purpose.
>
> Kindly help the poor newbie:)
>
> ______________________________**________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help>
> PLEASE do read the posting guide http://www.R-project.org/**
> posting-guide.html <http://www.R-project.org/posting-guide.html>
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Gregory (Greg) L. Snow Ph.D.
538280@gmail.com

	[[alternative HTML version deleted]]

