Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

mst

Minimum Spanning Tree


Description

The function mst finds the minimum spanning tree between a set of observations using a matrix of pairwise distances.

The plot method plots the minimum spanning tree showing the links where the observations are identified by their numbers.

Usage

mst(X)
## S3 method for class 'mst'
plot(x, graph = "circle", x1 = NULL, x2 = NULL, ...)

Arguments

X

either a matrix that can be interpreted as a distance matrix, or an object of class "dist".

x

an object of class "mst" (e.g. returned by mst()).

graph

a character string indicating the type of graph to plot the minimum spanning tree; two choices are possible: "circle" where the observations are plotted regularly spaced on a circle, and "nsca" where the two first axes of a non-symmetric correspondence analysis are used to plot the observations (see Details below). If both arguments x1 and x2 are given, the argument graph is ignored.

x1

a numeric vector giving the coordinates of the observations on the x-axis. Both x1 and x2 must be specified to be used.

x2

a numeric vector giving the coordinates of the observations on the y-axis. Both x1 and x2 must be specified to be used.

...

further arguments to be passed to plot().

Details

These functions provide two ways to plot the minimum spanning tree which try to space as much as possible the observations in order to show as clearly as possible the links. The option graph = "circle" simply plots regularly the observations on a circle, whereas graph = "nsca" uses a non-symmetric correspondence analysis where each observation is represented at the centroid of its neighbours.

Alternatively, the user may use any system of coordinates for the obsevations, for instance a principal components analysis (PCA) if the distances were computed from an original matrix of continous variables.

Value

an object of class "mst" which is a square numeric matrix of size equal to the number of observations with either 1 if a link between the corresponding observations was found, or 0 otherwise. The names of the rows and columns of the distance matrix, if available, are given as rownames and colnames to the returned object.

Author(s)

Yvonnick Noel noel@univ-lille3.fr, Julien Claude julien.claude@umontpellier.fr and Emmanuel Paradis

See Also

Examples

require(stats)
X <- matrix(runif(200), 20, 10)
d <- dist(X)
PC <- prcomp(X)
M <- mst(d)
opar <- par()
par(mfcol = c(2, 2))
plot(M)
plot(M, graph = "nsca")
plot(M, x1 = PC$x[, 1], x2 = PC$x[, 2])
par(opar)

ape

Analyses of Phylogenetics and Evolution

v5.5
GPL-2 | GPL-3
Authors
Emmanuel Paradis [aut, cre, cph] (<https://orcid.org/0000-0003-3092-2199>), Simon Blomberg [aut, cph] (<https://orcid.org/0000-0003-1062-0839>), Ben Bolker [aut, cph] (<https://orcid.org/0000-0002-2127-0443>), Joseph Brown [aut, cph] (<https://orcid.org/0000-0002-3835-8062>), Santiago Claramunt [aut, cph] (<https://orcid.org/0000-0002-8926-5974>), Julien Claude [aut, cph] (<https://orcid.org/0000-0002-9267-1228>), Hoa Sien Cuong [aut, cph], Richard Desper [aut, cph], Gilles Didier [aut, cph] (<https://orcid.org/0000-0003-0596-9112>), Benoit Durand [aut, cph], Julien Dutheil [aut, cph] (<https://orcid.org/0000-0001-7753-4121>), RJ Ewing [aut, cph], Olivier Gascuel [aut, cph], Thomas Guillerme [aut, cph] (<https://orcid.org/0000-0003-4325-1275>), Christoph Heibl [aut, cph] (<https://orcid.org/0000-0002-7655-3299>), Anthony Ives [aut, cph] (<https://orcid.org/0000-0001-9375-9523>), Bradley Jones [aut, cph] (<https://orcid.org/0000-0003-4498-1069>), Franz Krah [aut, cph] (<https://orcid.org/0000-0001-7866-7508>), Daniel Lawson [aut, cph] (<https://orcid.org/0000-0002-5311-6213>), Vincent Lefort [aut, cph], Pierre Legendre [aut, cph] (<https://orcid.org/0000-0002-3838-3305>), Jim Lemon [aut, cph], Guillaume Louvel [aut, cph] (<https://orcid.org/0000-0002-7745-0785>), Eric Marcon [aut, cph] (<https://orcid.org/0000-0002-5249-321X>), Rosemary McCloskey [aut, cph] (<https://orcid.org/0000-0002-9772-8553>), Johan Nylander [aut, cph], Rainer Opgen-Rhein [aut, cph], Andrei-Alin Popescu [aut, cph], Manuela Royer-Carenzi [aut, cph], Klaus Schliep [aut, cph] (<https://orcid.org/0000-0003-2941-0161>), Korbinian Strimmer [aut, cph] (<https://orcid.org/0000-0001-7917-2056>), Damien de Vienne [aut, cph] (<https://orcid.org/0000-0001-9532-5251>)
Initial release
2021-04-24

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.