3

クラスター化しようとすると、次のメッセージが表示されます。

diana(mat.in、stand = TRUE)のエラー:クラスタリングは実行されません。NAは非類似度行列にあります。

dianaは非類似度行列ではなく行列を取るため、これは予想外のことです。ドキュメントによると、NAマトリックスで許可されています[非類似度マトリックスでは許可されていません]。

例:

require("cluster")
mat.in=data.frame(A=c(12,10,NA,14,12,60),B=c(NA,11,45,25,13,65))
d=diana(mat.in,stand=TRUE)

全NA列も全NA行も存在しないことを確認しました。

ここで何が起こっているのか誰もが知っていますか?

4

1 に答える 1

1

問題は、少なくともサンプルデータでは、サンプル1と3の場合、非類似度を計算するための情報がないことです。検討:

> daisy(mat.in)
Dissimilarities :
          1         2         3         4         5
2  2.828427                                        
3        NA 48.083261                              
4  2.828427 14.560220 28.284271                    
5  0.000000  2.828427 45.254834 12.165525          
6 67.882251 73.593478 28.284271 60.959003 70.767224

Metric :  euclidean 
Number of objects : 6
> mat.in
   A  B
1 12 NA
2 10 11
3 NA 45
4 14 25
5 12 13
6 60 65

NAこれは、非類似度行列のが実数であることを説明しています。サンプル1と2の比較でAは、サンプル3には欠落していますが、1には存在しますが、の場合はその逆ですB。これら2つのサンプルの非類似度を計算するためのデータがないため、非NA類似度行列にが含まれます。

NA非類似度を計算するための情報が残っている限り、sは明らかに許可されていることに注意してください。生成された行列には、すべてのサンプルとサンプル1および3の間の非類似度が含まれています。

于 2012-09-28T11:47:56.303 に答える