Я пытаюсь преобразовать объект iGraph в объект gexf с помощью пакета rgexf, чтобы я мог написать файл, пригодный для использования с Gephi, который я предпочитаю для сетевой визуализации.
Мой объект iGraph создается путем чтения в двух CSV: h.edges и h.nodes. Существуют как атрибуты ребер, так и узлов. После считывания файлов я создаю объект iGraph, вычисляю показатели центральности, а затем присоединяю показатели центральности в качестве атрибутов узла. Код выглядит так:
iNet = graph_from_data_frame(d=h.edges, vertices = h.nodes, directed = F)
V(iNet)$degree = degree(iNet)
V(iNet)$eig = evcent(iNet)$vector
V(iNet)$betweenness = betweenness(iNet)
Кажется, это работает нормально, поскольку я могу выполнять все обычные функции iGraph - строить график, вычислять центральности, определять сообщества и т. Д. c. Моя проблема возникает, когда я пытаюсь преобразовать это в объект gexf. Я запускаю следующий код:
library(rgexf)
iNet.gexf igraph.to.gexf(iNet)
Но получите следующее сообщение об ошибке:
Error in `[.data.frame`(x, r, vars, drop = drop) :
undefined columns selected
Кто-нибудь знает, что происходит? Хотя я знаю, что приведенный здесь пример можно сделать, просто загрузив два CSV-файла прямо в Gephi и выполнив там вычисления, конечная цель состоит в том, чтобы иметь возможность прикрепить более надежные вычисления iGraph в качестве атрибутов способами, которые Gephi не может.