r-根据顶点属性值过滤igraph对象



mymatrix是一个igraph对象(加权邻接矩阵(:

> summary(mymatrix)
IGRAPH 14317c4 UNW- 810 8761 -- 
+ attr: name (v/c), year (v/n), bad (v/n), new (v/n), weight (e/n)

节点属性之一是year:

> summary(V(mymatrix)$year)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
1990    2011    2014    2013    2017    2019 

newmatrix是一个igraph对象,它只包括与给定年份关联的节点。如果year的值大于2013,我想在绘图和分析之前从矩阵的行和列中删除该节点。

我试图在dplyr包中使用filter(),但得到以下错误:

> newmatrix<-filter(mymatrix, V(mymatrix)$year<2013)
Error in UseMethod("filter_") : 
no applicable method for 'filter_' applied to an object of class "igraph"

一个解决办法是首先修改我用来生成邻接矩阵的数据。但我想知道是否有一种方法可以通过节点属性过滤igraph对象,这是我在文档中找不到的。

看起来像

delete_vertices(mymatrix, V(mymatrix)$year >= 2013)

应该给出预期的图形。

最新更新