2016-06-30 53 views
0

我有一張由igraph命令'graph_from_adjacency_matrix'通過矩陣列表獲得的8個圖表。 我想將這8個圖解析成8個獨立的圖,但是我沒有找到關於這個過程的任何信息。igraph圖表清單

下面請找到一個抽象的例子:`

A = matrix(c(2, 4, 3, 1, 5, 7), nrow=3,ncol=3) 
B = matrix(c(2, 3, 3, 2, 5, 6), nrow=3,ncol=3) 
C = matrix(c(0, 5, 3, 4, 5, 2), nrow=3,ncol=3) 
Matrix<-list(A,B,C) 
Graph<-lapply(Matrix,graph_from_adjacency_matrix,weighted = NULL,diag= FALSE) 

我想有對應於圖三個新igraphs對象[[1]],圖表[[2]],圖表[[3] ]

有人可以幫我嗎?

謝謝你在前進,

SOSA塞巴斯蒂安

+1

嗨索薩,你能提供一個可重複的例子,你是從什麼開始? –

+0

嗨,感謝您的快速回答,我編輯我的帖子以添加一個抽象示例。 – Bas

+0

所以你想要做一些像'a = Graph [[1]]; b =圖形[[2]]等等一直到8並構造8個新對象?這通常是一件壞事,你應該把它們放在可以通過索引號訪問的列表中。 – Spacedman

回答

2

我也@Spacedman同意,對程序性的目的,它會更容易在列表或嵌套列表形式的圖表工作。

這就是說,如果你想產生的圖形動態地分配給新的變量,你可以使用assign功能,例如:

for(i in seq_along(Graph)) { 
    assign(paste0('g', i), Graph[i]) 
} 

這將產生變數g1, g2, ..., gn對應於每個列表中的條目。

此外,作爲一個快速拋開,我建議避免使用大寫的變量名稱。通過大多數編碼慣例(例如Hadley的http://adv-r.had.co.nz/Style.html),變量名應該全部小寫。