r - 基于 r 中的属性条件删除顶点

标签 r igraph sna

我正在处理一个有 121 个顶点和 209 个边的图,我试图从这个图中删除满足两个条件的顶点:

  • degree(my.graph)==0
  • 顶点的名称以指定的字符开头。

  • 这是一个示例,显示了我想要获得的内容。从下图中:
    toy.graph <- graph.formula(121-221,121-345,121-587,345-587,221-587, 490, 588)
    

    我想删除以 5 开头的度数为 0 的顶点。在这种情况下,我只想删除顶点 588(而不是 490 和 587)。我知道如何删除以 5 开头的顶点:
    delete.vertices(toy.graph,V(toy.graph)$name 
                    %in% grep("^5",V(toy.graph)$name,value=T))
    

    以及如何删除度数为 0 的顶点:
    delete.vertices(toy.graph, V(toy.graph)[degree(toy.graph)==0])
    

    但是当我尝试将这两个条件放在一起时,那就是
    delete.vertices(toy.graph, V(toy.graph)$name %in%     
                    grep("^5",V(toy.graph)$name,value=T) 
                    && V(toy.graph)[degree(toy.graph)==0])
    

    它不起作用,我取回了完整的图表。是否有一种特殊的方法可以组合多个条件来删除顶点?

    谢谢!

    最佳答案

    我相信这就是你想要的:

    delete.vertices(toy.graph, 
                V(toy.graph)[ degree(toy.graph) == 0 &
                                grepl("^5", V(toy.graph)$name) ] )
    

    波兹拉维亚姆 :)

    关于r - 基于 r 中的属性条件删除顶点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29784095/

    相关文章:

    r - ifelse 开始于,结束于,包括

    python - 如何在 Igraph Python 中将边权重移动到顶点权重

    c++ - 无法在 igraph 上生成 igraph_degree_sequence_game

    r - 如何避免 igraph 中的图形联合名称冲突?

    math - 在随机图中: What is the probability that a node has a link to any node on a list x defined special nodes?

    r - 如何在 R 中编写 SAS 宏?

    r - conf.int 在 3.3 中不再使用 ggplot2、stat_summary

    regex - 从未知(对我来说)编码中删除不可打印的空格

    r - 在 R 中向 igraph 添加文本

    export - Gephi preview export pdf 在左右边距处截断标签