在R中的igraph中导入顶点属性

时间:2016-04-25 21:40:29

标签: r attributes igraph

我是R的新手,很抱歉这么简单的问题,但我真的不知道我的问题在哪里...... 我正在尝试建立一个网络:

library(igraph)
matrix_try <- read.csv2("~/Documents/RStudio/Cedges.csv", header = T , row.names = 1)
nodes <- read.csv2("~/Documents/RStudio/Cnode.csv", header = TRUE)

您可以找到的文件here

matrix_try <- as.matrix(matrix_try)
net <- graph_from_adjacency_matrix(matrix_try, nodes, mode = "undirected", weighted = T)

但是没有顶点属性(类型,抗议):

 IGRAPH UNW- 28 48 -- 
+ attr: name (v/c), weight (e/n)
+ edges (vertex names):
     [1] BYT --Udar                                   BYT --Front.zmin                            
     [3] BYT --Svoboda      (...)

如何“找到”他们?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

您无法使用?graph_from_adjacency_matrix添加节点属性,但尚未添加它们,因此无法找到它们。

下载了您的文件:

adj_mat <- read.csv("Cedges.csv", sep =";", row.names = 1)
nodes <- read.csv("Cnode.csv", sep =";") 
net <- igraph::graph_from_adjacency_matrix(as.matrix(edges), mode = "undirected", weighted = T)

然后你可以像这样使用内置的FUN set_vertex_attr

set_vertex_attr(net, "name", index = V(net), as.character(nodes$name))
set_vertex_attr(net, "protests", index = V(net), nodes$protests)
set_vertex_attr(net, "type", index = V(net), as.factor(nodes$type))

使用剧情

中的属性
plot(net, vertex.color = V(net)$protests)

net plot