我在这里找到了关于如何使用的文档graph.coreness
。
不幸的是,我得到了一个大约 27000 个条目长的数字列表。
我的目的是简单地弄清楚如何找出条目所属的最大 k-core。
我怎么做?
假设有这个图:
library(igraph)
g <- graph.empty(n=7,directed=FALSE)
g <- add.edges(g, c(1,2,1,3,1,4,3,5,3,4,4,5,2,7,2,6))
g <- set.vertex.attribute(g, name='vert.names',index=V(g),value=LETTERS[V(g)])
您可以通过这种方式获得 k-core 子图:
coreness <- graph.coreness(g)
maxCoreness <- max(coreness)
# if you just need to know the vertices and not to build the subgraph
# you can use this variable
verticesHavingMaxCoreness <- which(coreness == maxCoreness)
kcore <- induced.subgraph(graph=g,vids=verticesHavingMaxCoreness)
plot(kcore,
vertex.label=get.vertex.attribute(kcore,name='vert.names',index=V(kcore)))
我用这个链接想出了这个
https://stackoverflow.com/a/3692710/80353
基本上我这样做。
cores = graph.coreness(as.undirected(g))
head(sort(cores, decreasing=TRUE), 3)
这将为我提供向量中的 3 个最高 k 核心值。