2017-03-27 61 views
0

我有一個加權二部網絡數據集:轉換數據集到一個圖形對象

A B C D P 
W 0 0 0 1 0 
Q 0 0 0 7 13 
E 0 0 0 16 1 
T 0 0 0 5 1 
U 0 1 0 23 1 
R 1 0 0 10 2 
M 0 0 1 13 4 
H 3 0 0 13 5 
L 0 0 0 3 3 

我想轉換爲圖形對象,但我不知道該怎麼做,我必須使用graph_from_adjacency_matrixgraph_from_data_frame? 有幫助嗎?

回答

2

我認爲你需要從graph_from_incidence_matrix開始。假設你的數據在一個名爲df1數據幀,與列和行名稱作爲你的問題:

library(igraph) 
g <- graph_from_incidence_matrix(df1, weighted = TRUE) 

E(g) 
+ 21/21 edges (vertex names): 
[1] W--D Q--D Q--P E--D E--P T--D T--P U--B U--D U--P R--A R--D R--P M--C M--D M--P H--A H--D H--P 
[20] L--D L--P 

E(g)$weight 
[1] 1 7 13 16 1 5 1 1 23 1 1 10 2 1 13 4 3 13 5 3 3 
+0

真的很感激,還有一個問題我如何添加行和列名這個圖? @neilfws – minoo

+0

查看'graph_from_incidence_matrix'的'add.names'參數。默認情況下,數據框的行名和列名被添加爲頂點名稱:'V(g)$ name'。 – neilfws