3

距離行列を使用したクラスタリングについて質問がありますが、疎です。

行列を拡張せず、スパース表現で機能するスパース距離オブジェクト形式はありますか?

現在、私は次のことを行っています

# read sparse matrix
sparse <- readMM('sparse-matrix')
distance <- as.dist(sparse)

sparse-matrix は既に正しい距離行列であり、接続されていないエントリには NA があります。

>sparse
[1,] . . .
[2,] 1 . .
[3,] 1 . .

> as.dist(sparse)
1 2
2 1  
3 1 0

しかし、 as.dist で変換すると失敗します

asMethod(object) のエラー: 負の長さのベクトルは許可されていません

おそらく、マトリックスを完全な形に展開するためです。行列 (NxN) のサイズは N = 49281 です。この形式は、たとえば hclust メソッドで必要です (dist オブジェクト)。

R ヘルプ リストに回答がない類似の質問

4

1 に答える 1

-5

距離行列はどのように疎になりますか? 2 つのオブジェクト間には距離があるため、実際には非常に密な行列です。ただし、相互距離を記述するには三角行列で十分です ( D = D ' として)。これは、 によって生成されたオブジェクトの場合に実際に当てはまりますdist

多くのオブジェクトが同じであるために距離行列がまばらである場合、一意のオブジェクトに対してのみ距離行列を計算したい場合があります。

于 2013-04-09T19:55:34.157 に答える