首页 文章

按顶点属性值过滤igraph对象

提问于
浏览
0

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对象 .

1 回答

  • 1

    好像

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

    应该给出预期的图表 .

相关问题