如何使用 statnet/igraph 创建同时具有边缘和隔离的网络

How to create network with both edges and isolates using statnet/igraph

我的问题与此处发布的问题类似:Network adding edges error

我正在从零开始创建一个网络:我有大约 228 个顶点的数据,时间跨度为 13 年。第一年,我只有 1781 条边:它们不涉及我所有的顶点(只有 164 个),因此剩余的节点应该是孤立的。

我使用代码

从边缘列表开始创建了网络
fdi.graph.2003 <- graph_from_data_frame(fdi.edge.2003, directed = T, vertices = fdi.attr.2003)

其中 fdi.edge.2003 是一个 data.frame 包含边属性(包括一些潜在的权重列):它只涉及总数中的 164 个顶点fdi.attr.2003 定义的顶点是一个 data.frame,包含边列表中涉及的每个顶点的一行(总共 164 个)。

我得到的只是一个有 164 个顶点且没有孤立点的网络。但是,我知道它们确实存在于我的数据中!关于如何做的任何建议?我认为我应该初始化一个包含所有 228 个顶点的网络,添加它们的属性,然后添加边。但是,我正在尝试的任何事情都没有奏效:相反,我收到了与 "Illegal vertex reference in addEdges_R".

相关的最不同的错误

非常欢迎任何建议,即使它涉及替代包 igraph,我也发现了同样的问题

菲利波

使用 sna 包中的 add.isolates

net1 = as.network(cbind(1:3, 3:5)) #5 vertices, 3 edges
net2 = as.network(add.isolates(net1, 10), matrix.type = "edgelist") #15 v, 3 e

然后您可能想要创建新的顶点名称,例如

net2%v%"vertex.names" = 1:15