相关疑难解决方法(0)

R中的水平树状图与标签

我试图从hclust函数输出中绘制树形图.我希望树形图是水平排列而不是默认值,可以通过(例如)获得

require(graphics)
hc <- hclust(dist(USArrests), "ave")
plot(hc)
Run Code Online (Sandbox Code Playgroud)

我尝试使用as.dendrogram()函数,plot(as.dendrogram(hc.poi),horiz=TRUE)但结果没有有意义的标签:

在此输入图像描述

如果我使用plot(hc.poi,labels=c(...))哪个没有as.dendrogram(),我可以传递labels=参数,但现在树形图是垂直的而不是水平的.有没有办法水平同时排列树形图并分配用户指定的标签?谢谢!

更新:作为USArrests数据集的一个例子,假设我想使用州名的前两个字母的缩写作为标签,这样我想以某种方式labs进入绘图功能:

labs = substr(rownames(USArrests),1,2)

这使

 [1] "Al" "Al" "Ar" "Ar" "Ca" "Co" "Co" "De" "Fl" "Ge" "Ha"
[12] "Id" "Il" "In" "Io" "Ka" "Ke" "Lo" "Ma" "Ma" "Ma" "Mi"
[23] "Mi" "Mi" "Mi" "Mo" "Ne" "Ne" "Ne" "Ne" "Ne" "Ne" "No"
[34] "No" "Oh" "Ok" "Or" "Pe" "Rh" "So" "So" "Te" "Te" "Ut"
[45] "Ve" "Vi" …
Run Code Online (Sandbox Code Playgroud)

r dendrogram hclust

18
推荐指数
2
解决办法
3万
查看次数

如何根据定义的组为树形图的标签着色?(在R中)

我在R中有一个24行和10,000列的数字矩阵.该矩阵的行名基本上是文件名,我从中读取了对应于24行中每一行的数据.除此之外,我有一个单独的因子列表,包含24个entires,指定24个文件所属的组.有3组 - 醇类,碳氢化合物和酯类.它们所属的名称和相应组如下所示:

> MS.mz
[1] "int-354.19" "int-361.35" "int-368.35" "int-396.38" "int-408.41" "int-410.43" "int-422.43"
[8] "int-424.42" "int-436.44" "int-438.46" "int-452.00" "int-480.48" "int-648.64" "int-312.14"
[15] "int-676.68" "int-690.62" "int-704.75" "int-312.29" "int-326.09" "int-326.18" "int-326.31"
[22] "int-340.21" "int-340.32" "int-352.35"

> MS.groups
[1] Alcohol     Alcohol     Alcohol     Alcohol     Hydrocarbon Alcohol     Hydrocarbon Alcohol    
[9] Hydrocarbon Alcohol     Alcohol     Alcohol     Ester       Alcohol     Ester       Ester      
[17] Ester       Alcohol     Alcohol     Alcohol     Alcohol     Alcohol     Alcohol     Hydrocarbon
Levels: Alcohol Ester Hydrocarbon
Run Code Online (Sandbox Code Playgroud)

我想生成一个树形图来查看矩阵中的数据是如何聚类的.所以,我使用了以下命令:

require(vegan)
dist.mat<-vegdist(MS.data.scaled.transposed,method="euclidean")
clust.res<-hclust(dist.mat)
plot(clust.res)
Run Code Online (Sandbox Code Playgroud)

我得到了一个树状图.现在我想根据它们所属的组(即酒精,碳氢化合物或酯类)为树形图中的文件名着色.我查看了论坛上发布的不同例子

r中的标签和颜色叶树形图

使用猿包的R中的标签和颜色叶树形图

使用自举进行群集

,但无法为我的数据实现它.我不确定如何将row.names与MS.groups相关联以获得树形图中的彩色名称.

在使用dendextend生成树时(如https://nycdatascience.com/wp-content/uploads/2013/09/dendextend-tutorial.pdf中所述),我得到以下树

在此输入图像描述

以下是用于生成它的代码: …

plot r cluster-analysis dendrogram dendextend

4
推荐指数
1
解决办法
6661
查看次数

Dendextend:关于如何根据定义的组为树状图的标签着色

我正在尝试使用名为 dendextend 的出色 R 包来绘制树状图并根据一组先前定义的组为其分支和标签着色。我已经阅读了 Stack Overflow 中的答案以及 dendextend 小插图的常见问题解答,但我仍然不确定如何实现我的目标。

假设我有一个数据框,其中第一列包含用于聚类的个人姓名,然后是几列包含要分析的因素,最后一列包含每个人的组信息(见下表) .

individual  282856  282960  283275  283503  283572  283614  284015  group
pat15612    0   0   0   0   0   0   0   g2
pat38736    0   0   0   0   0   0   0   g2
pat38740    0   0   0   0   0   1   0   g2
pat38742    0   0   0   0   0   1   0   g4
pat38743    0   0   1   0   0   1   0   g3
pat38745    0   0   1   0   1   0   0   g4
pat38750    0   0   0   1 …
Run Code Online (Sandbox Code Playgroud)

r hierarchical-clustering dendextend

4
推荐指数
1
解决办法
1556
查看次数