Сохранение имен вершин при преобразовании в Edgelist в R - PullRequest
0 голосов
/ 04 февраля 2020

Я пытаюсь преобразовать социоматрицу (используя пакет sna в r) в список ребер, но сохраняю имена вершин. К сожалению, я, похоже, зашел в тупик.

Для контекста я использую пакет sna, потому что мне нужно симметризовать данные, что я делаю, прежде чем переводить их в формат edgelist. По сути, мне нужно взять сетевую матрицу, симметризовать ее, превратить в список краев, а затем записать в .csv. Это шаг преобразования его в список краев, где я сталкиваюсь с проблемой. Вот пример того, с чем я сталкиваюсь:

library(sna)

testmat <-rgraph("6")

colnames(testmat)  <- c("153","154", "155", "156", "157", "158")
rownames(testmat)  <- c("153","154", "155", "156", "157", "158")

maxsymmetrizedfile <-symmetrize(testmat, rule = "weak")
rownames(maxsymmetrizedfile) <- rownames(testmat)
colnames(maxsymmetrizedfile) <- colnames(testmat)
as.edgelist.sna(maxsymmetrizedfile)
maxsymm_edge<-as.edgelist.sna(maxsymmetrizedfile)

Когда я делаю это, вот что я получаю:

      snd rec val
 [1,]   2   1   1
 [2,]   3   1   1
 [3,]   4   1   1
 [4,]   5   1   1
 [5,]   6   1   1
 [6,]   1   2   1
 [7,]   3   2   1
 [8,]   5   2   1
 [9,]   1   3   1
[10,]   2   3   1
[11,]   4   3   1
[12,]   5   3   1
[13,]   6   3   1
[14,]   1   4   1
[15,]   3   4   1
[16,]   6   4   1
[17,]   1   5   1
[18,]   2   5   1
[19,]   3   5   1
[20,]   1   6   1
[21,]   3   6   1
[22,]   4   6   1

Когда мне действительно нужны имена (" 153 "," 154 "," 155 "," 156 "," 157 "," 158 ") вместо 1-6.

(Фактический список матрицы / ребер будет другим, когда вы запустите код, потому что график генерируется случайным образом, но он должен делать то же самое)

Есть ли у вас какие-либо предложения относительно того, что мне нужно сделать, чтобы сделать эту работу? В прошлом я использовал пакеты network и igraph, но когда я конвертирую социоматрицу в объект графа / сети и пытаюсь использовать другие пакеты для преобразования в список краев, я получаю другие ошибки (возникают проблемы при передаче аргумента «n»). ).

...