Description Usage Arguments Details Value Author(s) Examples
asPhylo
converts a data frame to a phylo object. Compared to
toTree
, asPhylo
allows the output tree to have different number
of nodes in paths connecting leaves to the root.
1 |
data |
A data frame or matrix. |
column_order |
A vector that includes the column names of data to
reorder columns of |
asNA |
This specifies strings that are considered as NA |
The last column is used as the leaf nodes
a phylo object
Ruizhu Huang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | library(ggtree)
# Example 0:
taxTab <- data.frame(R1 = rep("A", 5),
R2 = c("B1", rep("B2", 4)),
R3 = paste0("C", 1:5))
# Internal nodes: their labels are prefixed with colnames of taxTab
# e.g., R2:B2
taxTree <- asPhylo(data = taxTab)
ggtree(taxTree) +
geom_text2(aes(label = label), color = "red", vjust = 1) +
geom_nodepoint()
# (Below gives the same output as toTree)
taxTab$R1 <- paste0("R1:", taxTab$R1)
taxTab$R2 <- paste0("R2:", taxTab$R2)
taxTree <- asPhylo(data = taxTab)
# viz the tree
ggtree(taxTree) +
geom_text2(aes(label = label), color = "red", vjust = 1) +
geom_nodepoint()
# Example 1
df1 <- rbind.data.frame(c("root", "A1", "A2", NA),
c("root", "B1", NA, NA))
colnames(df1) <- paste0("L", 1:4)
tree1 <- asPhylo(df1)
ggtree(tree1, color = "grey") +
geom_nodepoint() +
geom_text2(aes(label = label), angle = 90,
color = "red", vjust = 2,
size = 4)
# Example 2
df2 <- data.frame(Group_1 = rep("Root", 11),
Group_2 = rep(c(13, 21), c(9, 2)),
Group_3 = rep(c(14, 18, "unknown"), c(5, 4, 2)),
Group_4 = rep(c(15, "unknown", 19, "unknown"), c(4, 1, 3, 3)),
Group_5 = rep(c(16, "unknown", 20, "unknown"), c(3, 2, 2, 4)),
Group_6 = rep(c(17, "unknown"), c(2, 9)),
LEAF = 1:11)
tree2 <- asPhylo(df2, asNA = "unknown")
ggtree(tree2, color = "grey") +
geom_nodepoint() +
geom_text2(aes(label = label), angle = 90,
color = "red", vjust = 2,
size = 4)
# Example 3
df3 <- df2
df3[10:11, 3] <- ""
tree3 <- asPhylo(df3, asNA = c("unknown", ""))
ggtree(tree3, color = "grey") +
geom_nodepoint() +
geom_text2(aes(label = label), angle = 90,
color = "red", vjust = 2,
size = 4)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.