[R] Efficient way to substract all entries in two vectors from each other
Ido M. Tamir
tamir at imp.univie.ac.at
Mon Jan 7 20:35:02 CET 2008
Johannes Graumann wrote:
> Hi all,
>
> I'm to inexperienced to come up with the matrix solution elusively
> appearing on the horizon for the following problem and would appreciate if
> you could give me a nudge ...
> I have two vectors a, and b and need to find the closest match for each
> value of a in b.
> How to do that efficiently?
I am not sure if I understood your problem correctly,
but maybe this is of help.
However its not memory efficient.
> a <- c(3,10,50,100)
> b <- c(7,8,300)
> b[apply(abs(outer(a,b,"-")),1,which.min)]
[1] 7 8 8 8
In Biobase there is the matchpt function doing this
efficiently.
best wishes,
ido
More information about the R-help
mailing list