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

在R语言的iGraph中如何统计特定度数(如度数=0)的节点数量

在igraph中统计特定度数的节点数量

嘿,这个问题其实超容易解决的,我来给你演示两种实用的方法,轻松搞定特定度数节点的统计~

首先,你需要先获取所有节点的度数,igraph里的degree()函数就能帮你做到这一步。假设你的图对象是g,先执行这行代码:

library(igraph)
# 获取所有节点的度数(无向图用默认mode="all"即可)
node_degrees <- degree(g)

方法一:直接求和统计

这是最直接的方式,用逻辑判断筛选出度数等于目标值的节点,再用sum()统计数量。比如你要统计度数为0的节点:

# 统计度数=0的节点数量
zero_degree_num <- sum(node_degrees == 0)
# 打印结果
cat("度数为0的节点一共有", zero_degree_num, "个\n")

如果要统计其他度数,比如度数等于3的,只需要把0换成3就行,非常灵活。

方法二:用频数表查看全部分布

如果你想同时看到所有度数的节点数量分布,table()函数会很实用。它会生成一个度数和对应数量的频数表,你可以直接提取目标度数的数值:

# 生成度数频数表
deg_table <- table(node_degrees)
# 查看全部分布
print(deg_table)
# 提取度数=0的数量(如果该度数存在的话)
deg_table["0"]

针对有向图的特殊处理

如果你的图是有向图,别忘了degree()函数的mode参数:

  • mode="in":统计入度
  • mode="out":统计出度
  • mode="all":统计总度数(默认)

比如统计入度为0的节点数量:

in_degree_zero <- sum(degree(g, mode = "in") == 0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:46:22