我有一个8个图表的列表,这些图表是通过一个矩阵列表和igraph命令“graph_from_adjacency_matrix'”获得的。 我想将这8个图表提取到8个单独的图表中,但我找不到有关此类过程的任何信息。
请在下面找到一个抽象的例子:`
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)
我想有3个新的igraphs对象,对应于Graph [[1]],Graph [[2]],Graph [[3]]
有人可以帮助我吗?
提前谢谢你,
SOSA Sebastian
答案 0 :(得分:2)
我同意@Spacedman的说法,出于编程目的,使用列表或嵌套列表表单中的图表会更容易。
也就是说,如果要将结果图表动态分配给新变量,可以使用assign
函数,例如:
for(i in seq_along(Graph)) {
assign(paste0('g', i), Graph[i])
}
这将生成与每个列表条目对应的变量g1, g2, ..., gn
。
另外,作为一个快速的建议,我建议避免使用大写的变量名。根据大多数编码惯例(例如Hadley&#39; s http://adv-r.had.co.nz/Style.html),变量名称应全部为小写。