繁体   English   中英

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

目前,我在非叶节点中获得以下没有标签的图像:

R中的树状图在非叶节点中没有标签

我想知道是否可以在树状图中显示每个非叶节点中的标签。 例如,在 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)

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM