R Преобразовать объект egor в igraph / использовать приложение для визуализации (ошибка: повторяющиеся имена вершин) - PullRequest
0 голосов
/ 29 января 2019

Я хочу проанализировать эгоцентрические сети, используя пакет egor от R.Этот пакет включает в себя приложение сетевой визуализации egor - короткое egor_vis_app - (которое использует igraph).Мне удалось создать объект egor, но я не могу использовать это приложение для визуализации сетей (ошибка Дублирование имен вершин) ИЛИ создать объект igraph (as_igraph (), та же ошибка).Что я делаю не так?

Что я пробовал до сих пор: я использовал ранее существующий объект egor (data ("egor32")), и приложение визуализации работало.

Затем я использовалэти ранее существующие данные для создания объекта egor:

    data("alters32")
    data("egos32")
    data("edges32") 
    e <- egor(alters.df = alters32,
               egos.df = egos32,
               aaties = edges32,
               ID.vars = list(
                 ego = "egoID",
                 alter = "alterID",
                 source = "Source",
                 target = "Target"))

и приложение, а также функция as_igraph (e) не работают (я следовал этому учебнику при созданииобъект egor с этими данными).

А это мой пример кода (на основе this ):

    df_new <- read.csv(textConnection('"id","numgiven","sex",
    "sex1","sex2","sex3","sex4","sex5","close12",
    "close13","close14","close15","close23","close24",
    "close25","close34","close35","close45"
    10,6,1,2,2,1,2,2,0,0,0,0,0,0,0,1,1,1
    36,6,2,2,2,2,1,1,0,0,0,1,0,0,0,1,0,0'
    ), as.is=TRUE)

    e1 <- with(df_new,  onefile_to_egor(egos = df_new, pmin(numgiven,5), 
                           ID.vars=list(ego="id"), 
                           attr.start.col="sex1",
                           attr.end.col="sex5",
                           max.alters=5,
                           aa.first.var="close12", 
                           aa.regex="^(?<attr>[[:alpha:]]+)(?<src>[[:digit:]])(?<tgt>[[:digit:]])$"))

Также не работает.

1 Ответ

0 голосов
/ 18 февраля 2019

Я являюсь одним из разработчиков egor, и хотя я знаю об этой проблеме и планирую исправить ее в следующих версиях, есть способ исправить это самостоятельно, переупорядочив столбцы изменения данных.Проблема заключается в том, что igraph ожидает, что идентификаторы изменения или имена вершин будут первым столбцом в кадре данных со списком изменений / вершин.

Вот как вы можете исправить свой объект egor:

library(dplyr)
e1$.alts <- lapply(e1$.alts, function(x) select(x, .altID, everything()))

С этим исправлением должна работать функция as_igraph () и приложение визуализации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...