[英]r igraph most connected nodes
在這種情況下,您可以通過對連接數進行計數(從&到相同,因為在任何一個向量中出現一個節點表示1個連接),就可以從data.frame計算它:
sort(table(c(paths$from, paths$to)), decreasing = TRUE)
結果:
30 10 20 50 60
4 2 2 1 1
說明:該代碼正在創建一個所有連接的向量( c(paths$from, paths$to)
),然后對頻率( table
)進行計數,然后sort
結果進行sort
以獲得從連接最多到連接最少的有序列表( decreasing=TRUE
)。
在這里找到連接數,您只需要計算data.frame
中每個數字的data.frame
,例如10出現兩次,連接數為2。您可以使用rle
,它返回一個具有兩個屬性的對象:
result <- rle(sort(c(paths[,1], paths[,2])))
> result
Run Length Encoding
lengths: int [1:5] 2 2 4 1 1
values : num [1:5] 10 20 30 50 60
您可以通過result$values
獲得計數,也可以將結果放入data.frame
:
> data.frame(dot=result$lengths, count=result$values)
dot count
1 2 10
2 2 20
3 4 30
4 1 50
5 1 60
嘗試這個
lengths(as_adj_list(g))
# 10 20 30 50 60
# 2 2 4 1 1
或者使用Matrix
的colSums
函數嘗試此操作:
library(Matrix)
colSums(g[])
# 10 20 30 50 60
# 2 2 4 1 1
which.max(colSums(g[]))
# 30
# 3
max(colSums(g[]))
# [1] 4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.