2016-04-27 158 views
1

由於距離矩陣分層聚類給定距離矩陣

d = matrix(c(0,2.5,4.5,2.5,0,3.4,4.5,3.4,0), nrow=3), 

如何使用R鍵做分層聚類?使用

hclust(d) 

它給我的錯誤

Error in if (is.na(n) || n > 65536L) stop("size cannot be NA nor exceed 65536") : missing value where TRUE/FALSE needed. 

回答

3

你需要將其轉換爲與dist對象,

d1 = as.dist(d) 
hclust(d1) 

如果檢查d1

R> str(d1) 
Class 'dist' atomic [1:3] 2.5 4.5 3.4 
    ..- attr(*, "Size")= int 3 
    ..- attr(*, "call")= language as.dist.default(m = d) 
    ..- attr(*, "Diag")= logi FALSE 
    ..- attr(*, "Upper")= logi FALSE 

你可以看到R正在聰明地存儲它;它只需要下三角矩陣。

+0

謝謝。我明白了這一點,並解決了我的問題。 – Janak