Description Usage Arguments Details Value Author(s) Examples
toTree
translates a data frame to a phylo object
1 |
data |
A data frame or matrix. |
column_order |
A vector that includes the column names of data to
reorder columns of |
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 | library(ggtree)
# Example 1:
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
tree <- toTree(data = taxTab)
# viz the tree
ggtree(tree) +
geom_text2(aes(label = label), color = "red", vjust = 1) +
geom_nodepoint()
# Example 2: duplicated rows in the 3rd and 4th rows
taxTab <- data.frame(R1 = rep("A", 5),
R2 = c("B1", rep("B2", 4)),
R3 = c("C1", "C2", "C3", "C3", "C4"))
# duplicated rows are removed with warnings
tree <- toTree(data = taxTab)
# Example 3: NA values in R2 column
# results: the internal node with the label 'R2:'
taxTab <- data.frame(R1 = rep("A", 5),
R2 = c("B1", rep("B2", 2), NA, "B2"),
R3 = c("C1", "C2", "C3", NA, "C4"))
tree <- toTree(data = taxTab)
# viz the tree
ggtree(tree) +
geom_text2(aes(label = label), color = "red", vjust = 1) +
geom_nodepoint()
# Example 4: duplicated values in the leaf column (R4)
# Not allowed and give errors
# taxTab <- data.frame(R1 = rep("A", 5),
# R2 = c("B1", rep("B2", 3), "B3"),
# R3 = c("C1", "C2", "C3", "C3",NA),
# R4 = c("D1", "D2", "D3", NA, NA))
# Example 5: loops caused by missing values in B2-C4, B3-C4
taxTab <- data.frame(R1 = rep("A", 6),
R2 = c("B1", rep("B2", 4), "B3"),
R3 = c("C1", "C2", "C3", "C3", "C4", "C4"),
R4 = c("D1", "D2", "D3", "D3", "D4" , "D4"),
R5 = paste0("E", 1:6))
# resolove loops before run to Tree
# Suffix are adding to C4
taxNew <- resolveLoop(taxTab)
tree <- toTree(data = taxNew)
# viz the tree
ggtree(tree) +
geom_text2(aes(label = label), color = "red", vjust = 1) +
geom_nodepoint()
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.