1

hclust を使用してグラフのノード (C1、C2、C3...) をクラスター化しようとしていますが、類似度メトリックはノード間のリンクの数です。

私は次のようなデータを持っています

c = matrix( c(0,1,3,1,0,5,3,5,0), nrow=3, ncol=3)

基本的にこれは類似度マトリックスです

    C1  C2  C3
C1  0   1   3
C2  1   0   5
C3  3   5   0

これは、C1 と C3 の類似度が 3 リンクである無向グラフです。このデータを適切な dist.matrix のような形式に変換する必要があります

    C1  C2
C2  1
C3  1/3   1/5

私の類似性メトリック (2 つのノード間の #links) に基づく形式。どうすればいいですか?

4

2 に答える 2

4

境界間性に基づく階層的クラスタリングを使用したいようです。これは で直接行うことができますigraph

library(igraph)
c  <- matrix( c(0,1,3,1,0,5,3,5,0), nc=3)
g  <- graph.adjacency(c,mode="undirected")
bc <- edge.betweenness.community(g)
par(mfrow=c(1,2))
plot(g)
plot(as.dendrogram(bc))

c  <- matrix(c(0,0,0,4,0, 
               0,0,0,1,0, 
               0,0,0,4,1, 
               4,1,4,0,3, 
               0,0,1,3,0),nc=5)
g  <- graph.adjacency(c,mode="undirected")
bc <- edge.betweenness.community(g)
plot(g)
plot(as.dendrogram(bc))

于 2014-11-19T01:40:35.027 に答える