使用索引(比例数据)作为分组变量 R 创建树状图

Create dendrogram using an index (proportion data) as grouping variable, R

我想使用显示相似聚类的索引(比例数据)创建树状图。我试图决定我必须使用什么 distance/similarity 指标,以便它们代表原始索引值。

我有一个如下所示的数据框:

 data<-read.table(text="ind  index
T1  0.10
T2  0.11
                 T3 0.01
                 T4 0.64
                 T5 0.03
                 T6 0.15
                 T7 0.26
                 T8 0.06
                 T9 0.01
                 T10    0.004
                 T11    0.01
                 T12    0.19
                 T13    0.04
                 T14    0.69
                 T15    0.06
                 T16    0.51
                 T17    0.15
                 T18    0.26
                 T19    0.26
                 T20    0.01
                 ",header=T)

head(data)

data2<-as.matrix(data[,2])

d<-dist(data2)

# prepare hierarchical cluster
hc = hclust(d)
# very simple dendrogram
plot(hc)

这将生成一个简单的树状图。但是,我实际上想将索引列中的值用作 "my distance"。欢迎提出任何建议。提前致谢!

也许这会有帮助?您的值在 y 轴上。

hc <- hclust(d = d, method="single", members=NULL)
library(ggdendro)
ggdendrogram(hc, theme_dendro=FALSE)

可以使用cophenetic函数提取hclust对象的距离矩阵。这样,您就可以检查树状图代表原始距离函数的程度(通过检查原始距离与树状图的共生距离之间的相关性)。例如:

> hc <- hclust(d, method="single")
> cor(d, cophenetic(hc))
[1] 0.9270891
> hc <- hclust(d, method="complete")
> cor(d, cophenetic(hc))
[1] 0.9249611

这告诉你 "single" 方法比 "complete" 好一点点,但是两者都不能完全捕获原始距离矩阵(因为它们的相关性不是 1) .

希望对您有所帮助。