R中树状图非叶节点中的标签
Labels in non-leaf nodes of dendrogram in R
我想根据几个标准(Column1、Column2、Column3)在 R 中以树状图的形式创建一个包含几个项目(Name1、Name2、Name3、...)的分类的图表(我喜欢为此目的树状图的正交美学)。
我有以下 CSV (data.csv),其中包含每个标准中的项目及其分类:
Name;Column1;Column2;Column3
Name1;A;C;D
Name2;B;C;D
Name3;A;C;E
Name4;B;C;E
Name5;B;C;D
Name6;A;C;D
Name7;A;D;E
Name8;A;D;E
Name9;B;D;E
Name10;A;D;E
以及以下 R 代码:
library(data.tree)
library(DiagrammeR)
library(ggdendro)
data <- read.table(file = "data.csv", header = TRUE, sep = ";")
data$pathString <- paste("stat",
data$Column1,
data$Column2,
data$Column3,
data$Name,
sep = "/")
pop <- as.Node(data)
den <- as.dendrogram(pop)
p1 <- ggdendrogram(den, labels = TRUE, rotate = TRUE, leaf_labels = TRUE)
p1
目前,我正在获取以下非叶节点中没有标签的图像:
我想知道是否可以在树状图中的每个非叶节点中显示标签。例如,在 Column1 的决策中在每条边(与非叶节点相关)上显示“A”和“B”,在 Column2 的决策中在每条边上显示“C”和“D”,等等。此外,可以将项目的名称放在图形的右侧吗?提前致谢。
尝试使用 ape
包。
# try loading a package, install if unavailable
for(i in c("ape")){
if(!require(i, character.only = TRUE)){
install.packages(i, dependencies = TRUE)
library(i, character.only = TRUE)
}
}
# convert "Node" object to class "phylo"
den2 <- as.phylo(pop)
# plot.phylo options allow flexibility in display
plot(den2, show.node.label = TRUE, label.offset = 1)
我想根据几个标准(Column1、Column2、Column3)在 R 中以树状图的形式创建一个包含几个项目(Name1、Name2、Name3、...)的分类的图表(我喜欢为此目的树状图的正交美学)。
我有以下 CSV (data.csv),其中包含每个标准中的项目及其分类:
Name;Column1;Column2;Column3
Name1;A;C;D
Name2;B;C;D
Name3;A;C;E
Name4;B;C;E
Name5;B;C;D
Name6;A;C;D
Name7;A;D;E
Name8;A;D;E
Name9;B;D;E
Name10;A;D;E
以及以下 R 代码:
library(data.tree)
library(DiagrammeR)
library(ggdendro)
data <- read.table(file = "data.csv", header = TRUE, sep = ";")
data$pathString <- paste("stat",
data$Column1,
data$Column2,
data$Column3,
data$Name,
sep = "/")
pop <- as.Node(data)
den <- as.dendrogram(pop)
p1 <- ggdendrogram(den, labels = TRUE, rotate = TRUE, leaf_labels = TRUE)
p1
目前,我正在获取以下非叶节点中没有标签的图像:
我想知道是否可以在树状图中的每个非叶节点中显示标签。例如,在 Column1 的决策中在每条边(与非叶节点相关)上显示“A”和“B”,在 Column2 的决策中在每条边上显示“C”和“D”,等等。此外,可以将项目的名称放在图形的右侧吗?提前致谢。
尝试使用 ape
包。
# try loading a package, install if unavailable
for(i in c("ape")){
if(!require(i, character.only = TRUE)){
install.packages(i, dependencies = TRUE)
library(i, character.only = TRUE)
}
}
# convert "Node" object to class "phylo"
den2 <- as.phylo(pop)
# plot.phylo options allow flexibility in display
plot(den2, show.node.label = TRUE, label.offset = 1)