фильтровать объект igraph по значению атрибута вершины - PullRequest
0 голосов
/ 10 декабря 2018

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, я хочу удалить узел из строки и столбца матрицы перед построением графика и анализа.

Я пытался использовать filter() в пакете dplyrи получите следующую ошибку:

> 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 Ответ

0 голосов
/ 10 декабря 2018

Похоже,

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

должен дать ожидаемый график.

...