# NN: NN - Nearest Neighbors Superclass In dbscan: Density-Based Spatial Clustering of Applications with Noise (DBSCAN) and Related Algorithms

## Description

NN is an abstract S3 superclass for the classes of the objects returned by `kNN()`, `frNN()` and `sNN()`. Methods for sorting, plotting and getting an adjacency list are defined.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10``` ```adjacencylist(x, ...) ## S3 method for class 'NN' adjacencylist(x, ...) ## S3 method for class 'NN' sort(x, decreasing = FALSE, ...) ## S3 method for class 'NN' plot(x, data, main = NULL, pch = 16, col = NULL, linecol = "gray", ...) ```

## Arguments

 `x` a `NN` object `...` further parameters past on to `plot()`. `decreasing` sort in decreasing order? `data` that was used to create `x` `main` title `pch` plotting character. `col` color used for the data points (nodes). `linecol` color used for edges.

## Subclasses

kNN, frNN and sNN

## Author(s)

Michael Hahsler

Other NN functions: `comps()`, `frNN()`, `kNNdist()`, `kNN()`, `sNN()`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25``` ```data(iris) x <- iris[, -5] # finding kNN directly in data (using a kd-tree) nn <- kNN(x, k=5) nn # plot the kNN where NN are shown as line conecting points. plot(nn, x) # show the first few elements of the adjacency list head(adjacencylist(nn)) ## Not run: # create a graph and find connected components (if igraph is installed) library("igraph") g <- graph_from_adj_list(adjacencylist(nn)) comp <- components(g) plot(x, col = comp\$membership) # detect clusters (communities) with the label propagation algorithm cl <- membership(cluster_label_prop(g)) plot(x, col = cl) ## End(Not run) ```