[R] Help: Using vectorization method for vectors comparision

jim holtman jholtman at gmail.com
Thu Oct 21 14:28:40 CEST 2010


try this:

> a <- c(5, 10, 13, 19, 23)
>
> b <- c(1, 4, 7, 9, 15)
> # use outer for comparison
> z <- outer(a, b, ">")
> # use rowSums to get the indices (may have to check for zero)
> b[rowSums(z)]
[1]  4  9  9 15 15
>


On Wed, Oct 20, 2010 at 10:41 PM, bruclee <brouce33 at gmail.com> wrote:
>
> I am trying to compare two sorted vectors, all elements in both vectors are
> not duplicated. Ex.
> a = c[5, 10, 13, 19, 23]
> b = c[1, 4, 7, 9, 15]
> For each element in a, i need find the max element in b which is smaller
> than it, so the short answer will look like [4, 9, 9, 15, 15].
> I dont want to use any loop since my real project contains element in
> millions. Is there any way to speed up my operation? Many Thanks.
> --
> View this message in context: http://r.789695.n4.nabble.com/Help-Using-vectorization-method-for-vectors-comparision-tp3004952p3004952.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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?



More information about the R-help mailing list