我想知道是否有可能从igraph元素获取数据框,其中包含所有顶点属性作为colnames。 这看起来像是一件微不足道的事情,但到目前为止我无法让它工作。 我所能做的只是
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
答案 0 :(得分:3)
它可能关心的人 - 我自己找到了答案。它确实非常简单直接:
df <- as.data.frame(vertex.attributes(test_graph))