我是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 (...)
如何“找到”他们?
提前谢谢!
答案 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)