PCMTreeExtractClade | R Documentation |
Extract a clade from phylogenetic tree
PCMTreeExtractClade(
tree,
cladeRootNode,
tableAncestors = NULL,
X = NULL,
returnList = !is.null(X)
)
tree |
a PCMTree object. |
cladeRootNode |
a character string denoting the label or an integer denoting a node in the tree. |
tableAncestors |
an integer matrix returned by a previous call to PCMTreeTableAncestors(tree) or NULL. |
X |
an optional k x N matrix with trait value vectors for each tip in tree. |
returnList |
logical indicating if only the phylo object associated
with the clade should be returned. Defaults to |
If returnList is FALSE, a phylo object associated with the clade, otherwise, a list with two named members :
the phylo object associated with the clade
the submatrix of X with columns corresponding to the tips in the clade
PCMTreeSpliAtNode PCMTreeDropClade
set.seed(1, kind = "Mersenne-Twister", normal.kind = "Inversion")
tree <- PCMTree(ape::rtree(25))
PCMTreeSetPartRegimes(
tree, c(`26`="a", `28`="b", `45`="c"), setPartition = TRUE)
if(requireNamespace("ggtree"))
PCMTreePlot(tree, palette=c(a = "red", b = "green", c = "blue")) +
ggtree::geom_nodelab(angle = 45) + ggtree::geom_tiplab(angle = 45)
blueTree <- PCMTreeExtractClade(tree, 45)
PCMTreeGetPartRegimes(blueTree)
if(requireNamespace("ggtree"))
PCMTreePlot(blueTree, palette=c(a = "red", b = "green", c = "blue")) +
ggtree::geom_nodelab(angle = 45) + ggtree::geom_tiplab(angle = 45)
# we need to use the label here, because the node 29 in tree is not the same
# id in redGreenTree:
blueTree2 <- PCMTreeDropClade(blueTree, "48")
if(requireNamespace("ggtree"))
PCMTreePlot(blueTree2, palette=c(a = "red", b = "green", c = "blue")) +
ggtree::geom_nodelab(angle = 45) + ggtree::geom_tiplab(angle = 45)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.