【问题标题】:filter igraph object by vertex attribute value按顶点属性值过滤 igraph 对象
【发布时间】:2019-05-10 19:54:38
【问题描述】:

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

【问题讨论】:

    标签: r filter igraph data-manipulation adjacency-matrix


    【解决方案1】:

    看起来像

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

    应该给出预期的图表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      • 2019-05-04
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 2021-09-27
      • 2021-12-18
      相关资源
      最近更新 更多