Learn R Programming

dbscan (version 1.1-8)

NN: Nearest Neighbors Auxiliary Functions

Description

Helper functions for nearest neighbors (kNN and frNN).

Usage

adjacencylist(x, ...)
# S3 method for NN
plot(x, data, main = NULL, ...)

Arguments

x

a nearest neighbor object (of class kNN or frNN).

...

further arguments are currently ignored.

data

data with the coordinates for plotting.

main

main title for the plot.

Value

adjacencylist returns a list with one element for each original data point. Each element contains the row ids of the nearest neighbors. The adjacency list can be used to create for example a graph object.

See Also

frNN and kNN.

Examples

Run this code
# NOT RUN {
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))

# create a graph and find connected components (if igraph is installed)
if("igraph" %in% installed.packages()){
  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)
}
# }

Run the code above in your browser using DataLab