You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中删除社交网络数据中度为0的节点?报错求助

解决方案

报错原因很明确:你调用的delete.vertices()是network包的函数,但你的n_all是igraph包生成的图对象,类型不匹配导致报错。igraph包中删除节点的正确函数是delete_vertices()(下划线分隔命名)。

直接修改代码中的删除节点语句即可:

require(igraph)
meta <- read.csv("vil35_meta.csv", header = TRUE, as.is = TRUE)
n_all <- graph.adjacency(as.matrix(all), mode = "undirected", weighted = TRUE)
V(n_all)$caste <- meta$castesubcaste
V(n_all)$religion <- meta$hohreligion
V(n_all)$rooms <- meta$room_no

# 改用igraph的delete_vertices函数
n_all <- delete_vertices(n_all, V(n_all)[degree(n_all) == 0])

另外,也可以用induced_subgraph函数筛选保留度大于0的节点,效果一致:

n_all <- induced_subgraph(n_all, V(n_all)[degree(n_all) > 0])

内容的提问来源于stack exchange,提问作者Aziz Awaludin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 13:16:02