rng(x=NULL, dx=NULL, r = 1, method = NULL, usedeldir = TRUE, open = TRUE, k = NA, algorithm = 'cover_tree')
dxmust be provided.
get.knnis used from FNN to approximate the relative neighborhood graph. Only the
knearest neighbors to the points are used to determine whether an edge should be made or not. This will be much faster and use less memory for large data sets, but is an approximation unless
kis sufficiently large.
rtimes this distance if
ris not 1). There is an edge between the vertices associated with the observations if and only if there are no vertices in the lune defined by the intersection of the balls.
open should make no difference for most applications,
but there are very specific cases (see the example section below)
where setting it to be TRUE will give the wrong answer (thanks to
Luke Mathieson for pointing this out to me).
J.W. Jaromczyk and G.T. Toussaint, "Relative neighborhood graphs and their relatives", Proceedings of the IEEE, 80, 1502-1517, 1992.
G.T. Toussaint, "A Graph-Theoretic Primal Sketch", Computational Morphology, 229-260, 1988.
D.J. Marchette, Random Graphs for Statistical Pattern Recognition, John Wiley & Sons, 2004.
x <- matrix(runif(100),ncol=2) g <- rng(x) ## Not run: # plot(g) # ## End(Not run) ## Example using 'open': g <- graph.full(5,directed=FALSE) g1 <- rng(x=get.adjacency(g,sparse=FALSE),open=TRUE) ecount(g1) g2 <- rng(x=get.adjacency(g,sparse=FALSE),open=FALSE) graph.isomorphic(g2,g)