创建 igraph 属性概述

Creating an igraph attribute overview

我想知道是否有可能从包含所有顶点属性作为列名的 igraph 元素获取数据框。 这看起来像是一件微不足道的事情,但到目前为止我无法让它发挥作用。 我能做的就是

cbind(V(igraphE)$attr_1, V(igraphE)$attr_2, V(igraphE)$attr_3, V(igraphE)$attr_4)

当然我可以通过

访问所有属性名称
 list.vertex.attributes(igraphE)

必须有另一种方法来完成此操作 - 也许你们中有人知道该怎么做。

编辑:示例

test_fun <- function(color1,color2,len){
  vec <- replicate(len,sample(c(color1,color2,NA),1))
  return(vec)
}

set.seed(50)
num_nodes<- 20
test_graph <- erdos.renyi.game(num_nodes, 1/6)
V(test_graph)$color_1 <- test_fun("darkgreen","blue",num_nodes)
V(test_graph)$color_2 <- test_fun("brown","blueviolet",num_nodes)
V(test_graph)$color_3 <- test_fun("red","green",num_nodes)
V(test_graph)$color_4 <- test_fun("red","green",num_nodes)
plot(test_graph, vertex.size=7)

预期结果: data.frame包括所有顶点属性,属性为colnames

可能与谁有关 - 我自己找到了答案。它确实非常简单直接:

df <- as.data.frame(vertex.attributes(test_graph))