我正在使用一个有121个顶点和209个边的图,我试图从这个图中删除满足两个条件的顶点:
degree(my.graph)==0 这是一个显示我想要的内容的示例.从下图:
toy.graph <- graph.formula(121-221,121-345,121-587,345-587,221-587, 490, 588)
Run Code Online (Sandbox Code Playgroud)
我想删除以0开头的度数为0的顶点.在这种情况下,我想只删除顶点588(但不是490和587).我知道如何从5开始删除顶点:
delete.vertices(toy.graph,V(toy.graph)$name
%in% grep("^5",V(toy.graph)$name,value=T))
Run Code Online (Sandbox Code Playgroud)
以及如何删除0度的顶点:
delete.vertices(toy.graph, V(toy.graph)[degree(toy.graph)==0])
Run Code Online (Sandbox Code Playgroud)
但是当我试图将这两个条件放在一起时,就是这样
delete.vertices(toy.graph, V(toy.graph)$name %in%
grep("^5",V(toy.graph)$name,value=T)
&& V(toy.graph)[degree(toy.graph)==0])
Run Code Online (Sandbox Code Playgroud)
它不起作用,我得到了完整的图表.是否有一种特殊的方法来组合多个条件来删除顶点?
谢谢!
我相信这就是你想要的:
delete.vertices(toy.graph,
V(toy.graph)[ degree(toy.graph) == 0 &
grepl("^5", V(toy.graph)$name) ] )
Run Code Online (Sandbox Code Playgroud)
pozdrawiam :)
| 归档时间: |
|
| 查看次数: |
4223 次 |
| 最近记录: |