首页 文章

如何使用statnet / igraph创建包含边缘和隔离的网络

提问于
浏览
0

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

我正在创建一个划痕的网络:我有13个时期的228个顶点的数据 . 在第一年,我只有1781个边缘:它们不涉及我的所有顶点(仅164个),因此剩余的节点应该是孤立的 .

我使用代码从边缘列表开始创建网络

fdi.graph.2003 <- graph_from_data_frame(fdi.edge.2003, directed = T, vertices = fdi.attr.2003)

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

我得到的是一个有164个顶点并且没有隔离的网络 . 但是,我知道它们确实存在于我的数据中!关于如何做的任何建议?我认为我应该用所有228个顶点初始化一个网络,添加它们的属性,然后添加边缘 . 但是,我没有尝试任何工作:相反,我收到与“addEdges_R中的非法顶点引用”相关的最不同的错误 .

任何建议都非常受欢迎,在涉及替代包igraph的情况下也是如此,我发现了同样的问题

菲利波

1 回答

  • 0

    使用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
    

相关问题