Last chance! 50% off unlimited learning
Sale ends in
phylo4
is a generic constructor that creates a phylogenetic tree
object for use in phylobase methods. Phylobase contains functions for input
of phylogenetic trees and data, manipulation of these objects including
pruning and subsetting, and plotting. The phylobase package also contains
translation functions to forms used in other comparative phylogenetic method
packages.
phylo4(x, ...)phylo4_orderings
# S4 method for matrix
phylo4(
x,
edge.length = NULL,
tip.label = NULL,
node.label = NULL,
edge.label = NULL,
order = "unknown",
annote = list()
)
# S4 method for phylo
phylo4(x, check.node.labels = c("keep", "drop"), annote = list())
# S4 method for nexml
phylo4(x)
An object of class character
of length 5.
a matrix of edges or an object of class phylo
(see above)
optional arguments (none used at present).
Edge (branch) length. (Optional)
A character vector of species names (names of "tip" nodes). (Optional)
A character vector of internal node names. (Optional)
A character vector of edge (branch) names. (Optional)
character: tree ordering (allowable values are listed in
phylo4_orderings
, currently "unknown", "preorder" (="cladewise" in
ape
), and "postorder", with "cladewise" and "pruningwise" also
allowed for compatibility with ape
)
any additional annotation data to be passed to the new object
if x
is of class phylo
, either "keep"
(the default) or "drop" node labels. This argument is useful if the
phylo
object has non-unique node labels.
A numeric, two-column matrix with as many rows as branches in the phylogeny.
phylobase team
The minimum information necessary to create a phylobase tree object is a valid edge matrix. The edge matrix describes the topology of the phylogeny. Each row describes a branch of the phylogeny, with the (descendant) node number in column 2 and its ancestor's node number in column 1. These numbers are used internally and must be unique for each node.
The labels designate either nodes or edges. The vector node.label
names internal nodes, and together with tip.label
, name all nodes in
the tree. The vector edge.label
names all branches in the tree. All
label vectors are optional, and if they are not given, internally-generated
labels will be assigned. The labels, whether user-specified or internally
generated, must be unique as they are used to join species data with
phylogenetic trees.
phylobase
also allows to create phylo4
objects using
the function phylo4()
from objects of the classes:
phylo
(from ape
), and nexml
(from RNeXML
).
coerce-methods
for translation
functions. The phylo4 class. See also the
phylo4d-methods
constructor, and
phylo4d class.
# a three species tree:
mytree <- phylo4(x=matrix(data=c(4,1, 4,5, 5,2, 5,3, 0,4), ncol=2,
byrow=TRUE), tip.label=c("speciesA", "speciesB", "speciesC"))
mytree
plot(mytree)
# another way to specify the same tree:
mytree <- phylo4(x=cbind(c(4, 4, 5, 5, 0), c(1, 5, 2, 3, 4)),
tip.label=c("speciesA", "speciesB", "speciesC"))
# another way:
mytree <- phylo4(x=rbind(c(4, 1), c(4, 5), c(5, 2), c(5, 3), c(0, 4)),
tip.label=c("speciesA", "speciesB", "speciesC"))
# with branch lengths:
mytree <- phylo4(x=rbind(c(4, 1), c(4, 5), c(5, 2), c(5, 3), c(0, 4)),
tip.label=c("speciesA", "speciesB", "speciesC"), edge.length=c(1, .2,
.8, .8, NA))
plot(mytree)
Run the code above in your browser using DataLab