2012-09-07 20 views
1

R中使用包 '的igraph' 和調用函數:ř的igraph write.graph()EdgeList都如果圖是空

graph <- graph.empty(10,directed=FALSE) 
write.graph(graph,"some/path/graph.txt",format="edgelist") 

如果我通過使用

g <- as.undirected(read.graph("some/path/graph.txt",format="edgelist")) 

的召回圖表圖是空的,但也沒有頂點!

回答

3

一個邊界列表是一個矩陣,它有兩列,每個邊都有一行,第一列表示源節點,第二列表示目標節點。由於您沒有邊緣,邊緣列表爲空,因此您寫入的文件爲空。

通常邊界列表是最簡單的圖形存儲方式,節點數量可以根據邊界列表中唯一節點名稱的數量來推斷(或者如果節點編號是最高整數,我認爲這是igraph的做法),但是如果有沒有邊緣的節點會出錯,

您可以嘗試另一種格式,該格式也存儲節點上的信息。例如,

library("igraph") 

graph <- graph.empty(10,directed=FALSE) 
write.graph(graph,"graph.txt",format="pajek") 


g <- as.undirected(read.graph("graph.txt",format="pajek"))