【发布时间】:2014-10-19 11:20:51
【问题描述】:
我在邻接列表中有友谊数据。样本中的每个人(用 id 表示)最多可以提名 5 个朋友(f1-f5)。名为“net_test”的数据框如下所示:
id f1 f2 f3 f4 f5
1 1101 1113 1112 NA NA NA
2 1102 1111 1113 1103 1105 NA
3 1103 1105 1110 NA NA NA
4 1104 1115 1106 1110 1109 1112
5 1105 1103 1109 1116 1101 NA
6 1106 1121 1103 1113 NA NA
7 1107 1106 1111 NA NA NA
8 1108 1104 1109 NA NA NA
9 1109 1114 1103 1113 1108 1120
10 1110 1101 1103 1109 1107 NA
第一行是列号。从这些数据中,我想生成一个邻接矩阵,其中 id 作为行名和列名,如果两个 id 具有友谊链接,则为条目 1。我尝试先将其保存为图形,然后在第二步生成邻接矩阵:
require(igraph)
netdat<-graph.adjlist(net_test, mode="out", duplicate=FALSE)
adjmat <- get.adjacency(netdat, type="both")
当我应用 graph.adjlist 命令时,出现以下错误:
At structure_generators.c:84 : Invalid (negative) vertex id, Invalid vertex id
是否有另一种方法可以将邻接表转换为邻接矩阵?
【问题讨论】: