我有一个矩阵(“ g”),我正在尝试删除隔离株(未连接的节点)。我尝试在hierformR包中使用delete_isolates(g),并尝试在corpustools包中使用。
两次我都遇到错误: delete_isolates(g)中的错误:找不到函数“ delete_isolates”
如何从矩阵中删除未连接的节点?
答案 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))