0

2 つの異なる hclust クラスターで cluster.stats を使用すると問題が発生します。それは不可能ですか?

バージョン 0.99.491 – © 2009-2015 RStudio, Inc. を使用しており、以下のパッケージがインストールされています。

mylib <- "/Users/Klaus/R Packages/"; mylib
install.packages("NbClust",lib=mylib)
install.packages("modeltools",lib=mylib)
install.packages("flexclust",lib=mylib)
install.packages("RTextTools",lib=mylib) # Amazon's default machine image uses the Atlas BLAS. R points to that when installed with all defaults, but RTextTools expects the ordinary BLAS. 
install.packages("mclust",lib=mylib)
install.packages("fpc",lib=mylib)

library("NbClust",lib=mylib)
library("modeltools",lib=mylib)
library("flexclust",lib=mylib)
library("cluster",lib=mylib)
library("mclust",lib=mylib)
library("fpc",lib=mylib)

これらのクラスターを作成しています:

data(nutrient, package="flexclust")
row.names(nutrient) <- tolower(row.names(nutrient))
nutrient.scaled <- scale(nutrient)
d_eucli <- dist(nutrient.scaled,"euclidean")
fit.single <- hclust(d_eucli, method="single")
fit.average <- hclust(d_eucli, method="average")

しかし、それらに cluster.stats を使用すると、エラーが発生します。

cluster.stats(d_eucli, fit.single$cluster, fit.average$cluster)

エラー (デンマークのセットアップで):

Fejl i `[<-`(`*tmp*`, j, i, value = Inf) : subscript out of bounds
In addition: Advarselsbeskeder:
1: I max(clustering) : no non-missing arguments to max; returning -Inf
2: I cluster.stats(d_eucli, fit.single$cluster, fit.average$cluster) :
  clustering renumbered because maximum != number of clusters
3: I min(bv) : no non-missing arguments to min; returning Inf
4: I min(sij) : no non-missing arguments to min; returning Inf

私は何が欠けていますか?

4

2 に答える 2

0

次のコードは機能するはずです。私は自分で試しました:

fit.single <- hclust(d_eucli, method="single")

fit.average <- hclust(d_eucli, method="average")

cut.single <- cutree(fit.single, k=3) 

クラスターの数 (K) がわかっている場合、または他の検証テストに基づいている場合は、それを指定する必要があります

cut.average <- cutree(fit.average, k=3)

cluster.stats(d_eucli, cut.single, cut.average)
于 2016-05-12T09:26:27.497 に答える