hclust
を使用してデータをクラスタリングします。しかし、私はdistオブジェクトを生成するために "dist()"を使いたくありません。それから距離行列として対称行列をhclust
に渡すことができないことが分かりました。対称行列を "dist"オブジェクトに変換する方法は?
対称行列を "dist"オブジェクトに変換する方法は?
hclust
を使用してデータをクラスタリングします。しかし、私はdistオブジェクトを生成するために "dist()"を使いたくありません。それから距離行列として対称行列をhclust
に渡すことができないことが分かりました。対称行列を "dist"オブジェクトに変換する方法は?
対称行列を "dist"オブジェクトに変換する方法は?
すでに計算された行列があり、それをhclustで使用したいと思うようです。 @shadowのように、as.dist(yourMatrix)
を使ってdist形式に変換することができます。距離の対称表を考えると
:
> yourMatrix<-matrix(c(1,2,3,4,2,1,2,1,3,2,1,3,4,1,3,1), nrow=4)
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 2 1 2 1
[3,] 3 2 1 3
[4,] 4 1 3 1
>
>as.dist(yourMatrix)
1 2 3
2 2
3 3 2
4 4 1 3
はあなたのマトリックスの値が非類似、もしくは距離メトリックではなく、類似性スコアであることを確認してください。
これは必要なものですか? dist(matrix(1:16, nrow=4))