我想在单向网络中计算具有更多接收连接的节点数。
例如在这样的网络中:
g <- graph( c('A',1,'A',2,'A',3,'B',4,'B',5,'B',6,'C',7,'C',8,'D',7,'D',8))
我们将有3个独立的组件
将数据加载到文件(测试)中,我可以上传并按如下方式表示:
plot(g)
如何获得具有更多连接的目标节点?在这种情况下,将是节点7和8。
在回答另一个问题(r igraph most connected nodes)后,我尝试了以下内容:
lengths(as_adj_list(g))
A 1 2 3 B 4 5 6 C 7 8 D
3 1 1 1 3 1 1 1 2 2 2 2
结果是计算所有节点的长度,但我只查看目标节点。
我也试过了:
sort(g, decreasing = TRUE)
Error in intI(i, n = x@Dim[1], dn[[1]], give.dn = FALSE) : index larger than maximal 12
如您所见,我收到错误消息
以下评论:通过以下内容我得到了目标节点的数量,但是如何获得具有最大数量的节点呢?
degree(g4, mode = "in")
有什么想法吗?
由于
答案 0 :(得分:4)
你可以做到
library(igraph)
g <- graph( c('A',1,'A',2,'A',3,'B',4,'B',5,'B',6,'C',7,'C',8,'D',7,'D',8))
V(g)$indeg <- degree(g, mode = "in")
V(g)[V(g)$indeg == max(V(g)$indeg)]
# 2/12 vertices, named:
# [1] 7 8