Hi maybe
min(abs(outer(x,y, "-"))) If you want indices mm <- min(abs(outer(x,y, "-"))) which(abs(outer(x,y, "-"))== mm, arr.ind=TRUE) And in original vectors x[which(abs(outer(x,y, "-"))== mm, arr.ind=TRUE)[1]] y[which(abs(outer(x,y, "-"))== mm, arr.ind=TRUE)[2]] Cheers Petr > -----Original Message----- > From: R-help <r-help-boun...@r-project.org> On Behalf Of Dario Strbenac > Sent: Tuesday, August 18, 2020 9:00 AM > To: r-help@r-project.org > Subject: [R] Calculating Minimum Absolute Difference of Two Numeric Vectors > > Good day, > > What is a fast and efficient way to calculate the minimum absolute difference > between two vectors of numbers? The two vectors have unequal length. I > would also like to know the index of the first vector and the second vector > which results in the minimum absolute difference. For example: > > x <- rpois(500, 100) > y <- rpois(300, 30) > > Is there a much faster way than a nested for loop without resorting to Rcpp? > > -------------------------------------- > Dario Strbenac > University of Sydney > Camperdown NSW 2050 > Australia > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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 -- To UNSUBSCRIBE and more, see 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.