创建 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))
我想知道是否有可能从包含所有顶点属性作为列名的 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))