我尝试计算R中预先知道的节点和图的所有其他节点之间的相似性,并且在每一步,如果相似度超过某个阈值,我将节点放在向量中,用于存储所有节点在数据帧中(对于每个节点,我将给出它们的类似物)。
但是,这段代码只给出了最后一个节点,以及他最后一个类似的节点。
v <- DC2$node[order(-DC2$'Centrality')]
Nei1 <- neighbors(g1,as.character(v[1]),1)
vec <- numeric()
if(length(Nei1) > 0) {
for (i in 1:length(V(g1))) {
Nei2 <- neighbors(g,as.character(V(g1)[i]),1)
k1 <- as.numeric(degree(g1,as.character(v[1])))
k2 <- as.numeric(degree(g1,as.character(V(g1)[i])))
Simhpi <- (length(intersect(Nei1,Nei2)) / min(k1,k2))
if (Simhpi >= 0.5) {
for (j in 1:length(V(g1))) {
vv <- V(g1)[j]
vec[j] <- c(vec,vv$name)
}
}
}
}
nn<- data.frame(node=as.character(v[1]), Nei=vec)
感谢您的帮助。