```
isomap(dist, ndim=10, ...)
isomapdist(dist, epsilon, k, path = "shortest", fragmentedOK =FALSE, ...)
"summary"(object, axes = 4, ...)
"plot"(x, net = TRUE, n.col = "gray", type = "points", ...)
```

dist

Dissimilarities.

ndim

Number of axes in metric scaling (argument

`k`

in
`cmdscale`

).epsilon

Shortest dissimilarity retained.

k

Number of shortest dissimilarities retained for a point. If
both

`epsilon`

and `k`

are given, `epsilon`

will be used. path

Method used in

`stepacross`

to estimate the
shortest path, with alternatives `"shortest"`

and `"extended"`

. fragmentedOK

What to do if dissimilarity matrix is
fragmented. If

`TRUE`

, analyse the largest connected group,
otherwise stop with error. x, object

An

`isomap`

result object.axes

Number of axes displayed.

net

Draw the net of retained dissimilarities.

n.col

Colour of drawn net segments. This can also be a vector
that is recycled for points, and the colour of the net segment is
a mixture of joined points.

type

...

Other parameters passed to functions.

`isomap`

first calls function `isomapdist`

for
dissimilarity transformation, and then performs metric scaling for the
result. All arguments to `isomap`

are passed to
`isomapdist`

. The functions are separate so that the
`isompadist`

transformation could be easily used with other
functions than simple linear mapping of `cmdscale`

.
Function `isomapdist`

retains either dissimilarities equal or shorter to
`epsilon`

, or if `epsilon`

is not given, at least `k`

shortest dissimilarities for a point. Then a complete dissimilarity
matrix is reconstructed using `stepacross`

using either
flexible shortest paths or extended dissimilarities (for details, see
`stepacross`

). De'ath (1999) actually published essentially the same method before
Tenenbaum et al. (2000), and De'ath's function is available in function
`xdiss`

in non-CRAN package mvpart. The differences are that
`isomap`

introduced the `k`

criterion, whereas De'ath only
used `epsilon`

criterion. In practice, De'ath also retains
higher proportion of dissimilarities than typical `isomap`

.

The `plot`

function uses internally `ordiplot`

,
except that it adds text over net using `ordilabel`

. The
`plot`

function passes extra arguments to these functions. In
addition, vegan3d package has function
`rgl.isomap`

to make dynamic 3D plots that can
be rotated on the screen.

Tenenbaum, J.B., de Silva, V. & Langford, J.C. (2000) A global
network framework for nonlinear dimensionality
reduction. *Science* 290, 2319--2323.

`stepacross`

, `distconnected`

and
`cmdscale`

. Function `metaMDS`

may trigger
`stepacross`

transformation, but usually only for
longest dissimilarities. The `plot`

method of vegan
minimum spanning tree function (`spantree`

) has even
more extreme way of isomapping things. ## The following examples also overlay minimum spanning tree to ## the graphics in red. op <- par(mar=c(4,4,1,1)+0.2, mfrow=c(2,2)) data(BCI) dis <- vegdist(BCI) tr <- spantree(dis) pl <- ordiplot(cmdscale(dis), main="cmdscale") lines(tr, pl, col="red") ord <- isomap(dis, k=3) ord pl <- plot(ord, main="isomap k=3") lines(tr, pl, col="red") pl <- plot(isomap(dis, k=5), main="isomap k=5") lines(tr, pl, col="red") pl <- plot(isomap(dis, epsilon=0.45), main="isomap epsilon=0.45") lines(tr, pl, col="red") par(op) ## colour points and web by the dominant species dom <- apply(BCI, 1, which.max) ## need nine colours, but default palette has only eight op <- palette(c(palette("default"), "sienna")) plot(ord, pch = 16, col = dom, n.col = dom) palette(op)