2014-04-01 52 views

回答

2

我建議使用neigborhood作爲degree函數的替代方法。這允許你指定任何鄰居的順序。

d1 <- sapply(neighborhood(g, 1, mode="out"), length)-1 
d2 <- sapply(neighborhood(g, 2, mode="out"), length)-1 

如果你有帶循環的圖形,你應該檢查這是否仍然給出所需的結果。

編輯:謝謝@Ryan指出neighborhood.size實際上是比neighborhood好得多的答案。

d1 <- neighborhood.size(g, 1, mode="out")-1 
d2 <- neighborhood.size(g, 2, mode="out")-1 

編輯:感謝@Ryan爲neighborhood.size功能!我用它和它的作品,但爲了optain你需要從D2減去D1的第二學位的連接數,那麼你只需要在二度連接:

d1 <- degree(g, mode="out") 
d2 <- neighborhood.size(g, 2, mode="out")-d1-1 
+0

你甚至可以避開調用sapply通過使用igraph中的neighborhood.size方法。 –