View source: R/match.tip.edge.R
match.tip.edge | R Documentation |
Match a vector of tips or tips and nodes with the an edge list from a "phylo"
or "multiPhylo"
.
match.tip.edge(
vector,
phylo,
replace.na,
use.parsimony = TRUE,
to.root = FALSE
)
vector |
a vector of variables (equal to the number of tips or to the number of tips and nodes) or a vector of tips and nodes names or IDs. |
phylo |
a phylo or multiPhylo object. |
replace.na |
optional, what to replace NAs with. |
use.parsimony |
logical, whether to also colour internal edges parsimoniously ( |
to.root |
logical, if |
If the input vector
is a vector of variables, the function returns a vector of variables equal to the number of edges in the tree (or a list of vectors if the phylo
input is of class "multiPhylo"
). Else it returns an integer
vector for the selected edges.
Thomas Guillerme
## A random tree
tree <- rtree(20)
## A random vector of two variables for each tips
tip_values <- sample(c("blue", "red"), 20, replace = TRUE)
## Matching the colors (blue and red) to the tips descendants
edge_colors <- match.tip.edge(tip_values, tree, replace.na = "grey")
## Plotting the results
plot(tree, show.tip.label = FALSE, edge.color = edge_colors)
tiplabels(1:20, bg = tip_values)
## Same but without assuming parsimony for the internal nodes
plot(tree, show.tip.label = FALSE,
edge.color = match.tip.edge(tip_values, tree,
use.parsimony = FALSE,
replace.na = "grey"))
## Matching the tips and nodes colors with the edges
node_values <- sample(c("blue", "red"), 19, replace = TRUE)
edge_colors <- match.tip.edge(c(tip_values, node_values), tree)
plot(tree, show.tip.label = FALSE, edge.color = edge_colors)
tiplabels(1:20, bg = tip_values)
nodelabels(1:19, bg = node_values)
## Matching the tips and nodes colours to the root
data(bird.orders)
## Getting the bird orders starting with a "C"
some_orders <- sort(bird.orders$tip.label)[4:9]
## Get the edges linking these orders
edges_of_interest <- match.tip.edge(vector = some_orders,
phylo = bird.orders)
## Create a colour vector for all edges
all_edges <- rep("grey", Nedge(bird.orders))
## Replacing the edges of interest by another colour
all_edges[edges_of_interest] <- "black"
## Plot the results
plot(bird.orders, edge.color = all_edges)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.