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

时间:2015-02-08 02:38:53

标签: r cluster-analysis distance dendrogram

我想使用将显示类似聚类的索引(比例数据)创建树形图。我试图决定我必须使用什么距离/相似性度量,以便它们代表原始索引值。

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

 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)

这将产生一个简单的树形图。但是,我实际上想要使用索引列中的值作为&#34;我的距离&#34;。欢迎任何建议。提前谢谢!

2 个答案:

答案 0 :(得分:1)

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

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

enter image description here

答案 1 :(得分:1)

您可以使用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

这告诉你“单一”方法比“完整”方法稍微好一点,但两者都不能完全捕获原始距离矩阵(因为它们的相关性不是1)。

我希望这会有所帮助。