[英]Number of vertices in Igraph in R
我是R中的IGraph的新手。
我正在使用IGraph進行社區檢測,並且已經使用Walktrap技術建立了社區/集群。
接下來,在每個群集中,我要計算兩個特定頂點之間的頂點數。 我要執行此操作的原因是,對於每個頂點XX,我都希望列出通過最多3個頂點連接到XX的頂點,這意味着距離XX最多不超過3個頂點。
任何人都可以幫助在R中完成此操作嗎?
制作隨機圖(用於演示):
g <- erdos.renyi.game(100, 1/25)
plot(g,vertex.size=3)
獲取Walktrap社區並另存為頂點屬性:
V(g)$community<-walktrap.community(g, modularity = TRUE, membership = TRUE)$membership
V(g)$community
現在制作一個僅包含一個社區(例如社區2)的邊和頂點的子圖:
sub<-induced.subgraph(g,v=V(g)$community==2)
plot(sub)
制作一個包含所有最短路徑的矩陣:
shortestPs<-shortest.paths(sub)
現在計算最短路徑的數量小於或等於3。
我還排除了從每個節點到其自身的最短路徑(shortestPaths!= 0)。
也除以2,因為每個節點對在無向圖的矩陣中出現兩次。
Number_of_shortest_paths_smaller_3 <- length(which(shortestPs<=3 & shortestPs!=0))/2
Number_of_shortest_paths_smaller_3
希望這接近您的需求,祝您好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.