を用いた等価検索:最適なクラスタ式:私は行列Bから算出した2つの変数を持ってNbClust
1)相関行列
から相関行列cor(B)
2)非類似度マトリックスの階層クラスタ
その後、clustConfigurations
関数を使用して「エルボーグラフ」を計算して、最適なクラスター量を決定しました。以下は
を参照してくださいコード:私はNbClust
と呼ばれる別のパッケージを使用することにしましたので
library(NetCluster)
B = matrix(
c(2, 0, 0, 1, 0, 0, 1,
0, 1, 0, 0, 2, 1, 0,
0, 0, 3, 1, 0, 0, 2,
1, 0, 1, 4, 0, 0, 2,
0, 0, 0, 0, 4, 0, 2,
0, 1, 0, 0, 0, 2, 1,
1, 0, 2, 2, 2, 1, 8),
nrow=7,
ncol=7)
colnames(B) = c("A", "B", "C", "D", "E", "F", "G")
rownames(B) = c("A", "B", "C", "D", "E", "F", "G")
B
A B C D E F G
A 2 0 0 1 0 0 1
B 0 1 0 0 0 1 0
C 0 0 3 1 0 0 2
D 1 0 1 4 0 0 2
E 0 2 0 0 4 0 2
F 0 1 0 0 0 2 1
G 1 0 2 2 2 1 8
Correlation_Matrix <- cor(B)
dissimilarity <- 1 - Correlation_Matrix
Correlation_Matrix_dist <- as.dist(dissimilarity)
Correlation_Matrix_dist
HClust_Correlation_Matrix <- hclust(Correlation_Matrix_dist)
clustered_observed_cors = vector()
num_vertices <- ncol(B)
clustered_observed_cors1 <-clustConfigurations(num_vertices,HClust_Correlation_Matrix,Correlation_Matrix)
、マトリックスは、このスクリプトを実行するには大きすぎました。
ドキュメント:
https://cran.r-project.org/web/packages/NbClust/NbClust.pdf
私の目標は、この新しいパッケージで上記のプロセスを再作成することでしたが、私は以下のコードは、上記と同等であるかどうかわからない:
library(NbClust)
nbclustering<-NbClust(diss = Correlation_Matrix_dist,
distance = NULL,
min.nc=2,
max.nc=20,
method = "complete",
index = "dunn")
This would give you the optimal amount of clusters:
nbclustering$Best.nc
上記のコードは私の元のコードと同じですか?そうでない場合は、どのような変更が必要ですか?
ありがとうございます!
最終的に何を達成したいですか?それはあなたの変数をクラスタ化していますか?あなたの質問はあなたが答えたいものではないかもしれません。 – YCR
私はクラスターの最適な量を見つけて、階層クラスターの樹状図に戻り、私の発見に基づいてカットオフを作りたいと思います。私はdendogramを使いません。結果を使うだけです。 @YCR –
私はリファレンスとしてStanford R Labsを使用していましたが、相関行列を使用するように言及しました。これはソーシャルネットワーク分析の最終目標です。 http://sna.stanford.edu/lab.php?l=6このコードは124行目から始まります。 –