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

Import of vertices attributes in igraph in R

我是 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      (...)

如何'find'他们??

提前致谢!

您无法使用 ?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)