[R] arithmetic comparison over corresponding values from two vectors
Marc Schwartz
marc_schwartz at comcast.net
Tue Feb 10 18:19:50 CET 2009
on 02/10/2009 11:02 AM T Joshi wrote:
> Hi,
> I have scenario in which I wish to check whether numeric values in one array
> falls within the range of numbers defined over corresponding values in two
> other vectors:
>
> starts = c(12,45,67,110)
> ends=c(24, 58,102,150)
>
> trgroup=c(18,87)
>
> The result should be "1,3" , indices of vector starts/ends.
> which(trgroup>=starts & trgroup<=ends) wouldn't give required result.
> I don't want to write a for loop for doing this. Kindly help with ideas.
>
> Josh
Try this:
> sapply(trgroup, function(x) which((x >= starts) & (x <= ends)))
[1] 1 3
HTH,
Marc Schwartz
More information about the R-help
mailing list