последовательность ребер по имени вершины - PullRequest
3 голосов
/ 14 сентября 2010

Ну, я работаю с пакетом igraph, и я бы хотел выбрать ребра по имени, которое я назначил их вершине, в крошечном примере ..

library(igraph)

g <- barabasi.game(8)

labels<-c("G1","G2","G3","T1","T2","T3","H1","H2")

V(g)$name<-labels

Теперь мой крайний список имеет эту форму

> E(g)
Edge sequence:

    [0] G2 -> G1
    [1] G3 -> G2
    [2] T1 -> G2
    [3] T2 -> G3
    [4] T3 -> G1
    [5] H1 -> G1
    [6] H2 -> H1

Что я хочу сейчас, так это найти способ, вместо того, чтобы использовать

E(g)[1%--%2]

делать что-то более похожее на E (g) [G2% -% G1] (вызывая вершину по названию, которое я назначил), или эквивалентный способ узнать некоторые атрибуты ребер по имени участвующей вершины.

Ответы [ 2 ]

0 голосов
/ 29 сентября 2014

Заключите имена вершин в кавычки.Это дает идентичный результат использования номера вершины.Это работает в igraph 0.7.1.

Например:

> E(g)[1%--%8]
Edge sequence:
    e         
e [7] H2 -> G1

> E(g)['H2'%--%'G1']
Edge sequence:
    e         
e [7] H2 -> G1
0 голосов
/ 21 октября 2010

Это невозможно с ветвью igraph 0.5, но в разрабатываемой версии (0.6) добавлена ​​поддержка ссылок на вершины на основе их атрибута name вместо их числовых идентификаторов.Я не уверен, как это сделать, так как я не знаком с интерфейсом R.Попробуйте подписаться на список рассылки igraph-help и спросите там, поскольку это определенно то, что недавно было решено в igraph 0.6.

...