如何在R中的网络中删除隔离?

时间:2019-01-29 21:30:46

标签: r networking

我有一个矩阵(“ g”),我正在尝试删除隔离株(未连接的节点)。我尝试在hierformR包中使用delete_isolates(g),并尝试在corpustools包中使用。

两次我都遇到错误: delete_isolates(g)中的错误:找不到函数“ delete_isolates”

如何从矩阵中删除未连接的节点?

1 个答案:

答案 0 :(得分:0)

优良作法是尽量减少数据的可复制示例。选中How to make a great R reproducible example

使用igraph软件包,并跟随示例矩阵g

library(igraph)
g <-structure(c(0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0), .Dim = c(5L, 5L), .Dimnames = list(NULL, 
    NULL))

将矩阵转换为图形对象

g.old <- graph.adjacency(g, mode = "undirected", diag = FALSE)

并删除度为0的节点

g.new <- delete.vertices(g.old , which(degree(g.old)==0))