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

如何在R语言中删除图中Jaccard相似度为0的边?

删除图中weight=0的边(Jaccard相似度为0的边)

嗨,我来帮你搞定这个问题~在R里处理图结构,最常用的就是igraph包,咱们就用它来删掉所有权重为0的边,步骤超简单:

  • 首先确保你装了igraph包,如果没装的话先执行这两行:

    install.packages("igraph")  # 安装包
    library(igraph)             # 加载包
    
  • 假设你的图对象名叫my_graph(换成你自己实际的对象名就行),这里有两种常用方法:

    方法一:直接筛选保留非0权重的边,生成新图

    # 筛选出权重不等于0的边的索引
    non_zero_edges <- E(my_graph)$weight != 0
    # 生成只包含这些边的干净图
    cleaned_graph <- subgraph.edges(my_graph, eids = which(non_zero_edges))
    

    方法二:直接在原图上删除权重为0的边

    # 找到所有权重为0的边的索引
    zero_edges <- which(E(my_graph)$weight == 0)
    # 删除这些边
    my_graph <- delete.edges(my_graph, zero_edges)
    

小提示:如果你的相似度列不叫weight,而是直接叫Jaccard,记得把代码里的weight换成Jaccard哦,比如E(my_graph)$Jaccard != 0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:54:57