2015-02-08 27 views
0

我想使用將顯示相似聚類的索引(比例數據)創建樹狀圖。我正在嘗試確定我必須使用什麼距離/相似性度量,以便它們代表原始索引值。使用索引(比例數據)作爲分組變量創建樹狀圖,R

我有一個數據幀,看起來像這樣:

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) 

這將產生一個簡單的樹狀圖。但是,我實際上想使用索引列中的值作爲「我的距離」。歡迎任何建議。提前致謝!

+0

什麼是T1? obj 1到obj 2的距離? – 2015-02-08 13:18:36

+0

沒有T1,T2等是獨特的個體。我想通過索引列來展示一種分組方式,這是每個人在特定區域花費的時間比例(0-1)。我不確定這種數據的分組/聚類的正確方式是什麼。 – user1626688 2015-02-08 13:27:30

+1

在一維數據上,大多數距離函數完全一樣......我不明白你的問題。 – 2015-02-08 13:29:49

回答

1

也許這會有所幫助?你的值在y軸上。

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

enter image description here

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 )。

我希望這會有所幫助。