as.matching: Conversion Between Phylo and Matching Objects
Description
These functions convert objects between the classes "phylo" and
"matching".
Usage
as.matching(x, ...)
# S3 method for phylo
as.matching(x, labels = TRUE, ...)
# S3 method for matching
as.phylo(x, ...)
Value
as.matching returns an object of class "matching" with
the following component:
matching
a two-column numeric matrix where the columns
represent the sibling pairs.
tip.label
(optional) a character vector giving the tip labels
where the ith element is the label of the tip numbered i in
matching.
node.label
(optional) a character vector giving the node
labels in the same order than in matching (i.e. the ith
element is the label of the node numbered i + n in matching,
with n the number of tips).
as.phylo.matching returns an object of class "phylo".
Arguments
x
an object to convert as an object of class "matching"
or of class "phylo".
labels
a logical specifying whether the tip and node labels
should be included in the returned matching.
...
further arguments to be passed to or from other methods.
Author
Emmanuel Paradis
Details
A matching is a representation where each tip and each node are given
a number, and sibling groups are grouped in a ``matching pair'' (see
Diaconis and Holmes 1998, for details). This coding system can be used
only for binary (fully dichotomous) trees.
Diaconis and Holmes (1998) gave some conventions to insure that a
given tree has a unique representation as a matching. I have tried to
follow them in the present functions.
References
Diaconis, P. W. and Holmes, S. P. (1998) Matchings and phylogenetic
trees. Proceedings of the National Academy of Sciences USA,
95, 14600--14602.