【发布时间】:2014-01-19 18:57:20
【问题描述】:
我有大量的邻接矩阵,从 excel 导出的 csv 格式。我也有大量的csv。具有顶点属性数据的文件。 我已经在 SNA 中链接了它们,但 igraph 在功能上更进一步,所以我希望转向它,但我无法构建图形+属性文件。
我希望设置一些代码,作为执行一系列绘图的主力。 尽管似乎有很多方法可以将这两个数据集联系起来,但这似乎是最简单的: 为了使 csv 中的邻接矩阵成为数据框(因缺少顶点数据而减少),我使用:
m <- read.table(header=TRUE, check.names=FALSE, textConnection("
2 3 4 5 6 7
2 0 1 1 0 1 0
3 1 0 0 0 1 0
4 0 0 0 0 0 0
5 1 0 1 0 0 1
6 0 0 0 0 0 0
7 1 1 0 1 0 0
"))
在原始文件中同时具有顶点名称和行名称的情况下,导入的属性文件具有顶点名称和与节点名称相对应的'row.names'。 Hex.ed[1,1]给出了m网络中第一个节点,即节点2的属性值:
Hex.ed <- read.table(header=TRUE, textConnection("
HH Emo Extra Aggr Consci OTE
2 3.3750 3.0000 3.0000 3.0000 3.0625 3.4375
3 3.5625 2.9375 3.0625 3.0000 3.3125 3.6250
4 3.2500 2.8750 3.7500 3.2500 3.8750 3.5000
5 3.6875 3.1250 3.3750 3.5625 3.6250 3.3125
6 3.3125 3.0000 3.3125 3.8750 3.2500 3.6875
7 3.8125 3.2500 3.5625 2.8750 3.6875 3.4375
"))
g <- graph.data.frame(m, directed=TRUE, vertices=Hex.ed)
但是,我得到了错误:Error in graph.data.frame(m, directed = TRUE, vertices = Hex.ed) : Duplicate vertex names
【问题讨论】:
标签: r csv attributes igraph