CRAN status CRAN downloads


R extensions to N2 implementing kNN functions.

Implements methods to perform fast approximate K-nearest neighbor search on an input matrix. The algorithm implemented is based on the N2 implementation of an approximate nearest neighbor search using Hierarchical NSW graphs. The original algorithm is described in “Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs”, Y. Malkov and D. Yashunin, doi: 10.1109/TPAMI.2018.2889473, arXiv: 1603.09320.

Related libraries: * The original C++ library with Python and Go bindings here: * Rust library here:


To install the stable version from CRAN, use:


To install the latest version, use:


For installing from source on Mac OS, please see instructions in the wiki here



If you find N2R useful for your publication, please cite:

Peter Kharchenko, Viktor Petukhov and Evan Biederstedt (2020). N2R:
Fast and Scalable Approximate k-Nearest Neighbor Search Methods using
N2 Library. R package version 1.0.0