答案 0 :(得分:1)
您可以通过创建一个函数来计算单个边缘末端的jaccard相似度并将其应用于所有边缘来实现。由于您不提供任何数据,因此将使用任意图形进行说明。
任意示例图
library(igraph)
set.seed(1234)
g = erdos.renyi.game(10,0.3)
plot(g)
现在对所有边缘应用jaccard相似度函数
sapply(E(g),
function(x) similarity.jaccard(g, as.vector(ends(g,x)))[1,2])
[1] 0.0000000 0.0000000 0.0000000 0.4000000 0.1666667 0.2000000 0.2000000
[8] 0.2500000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
您可以测试一些数据点。例如,第7个边缘在顶点2和8之间,并且jaccard相似度为0.2
E(g)[7]
+ 1/13 edge:
[1] 2--8
similarity.jaccard(g, c(2,8))
[,1] [,2]
[1,] 1.0 0.2
[2,] 0.2 1.0