Сетевой объект и матрица смежности в R - PullRequest
1 голос
/ 07 октября 2019

У меня есть бесконтактная сеть, которая содержит следующую информацию:

Эбигейл живет недалеко от Фрэнка

Эбигейл живет недалеко от Кэмерона

Билли живет недалеко от Даниэля

Итан живет рядом с Камероном

Итан живет рядом с Фрэнком

Франк живет рядом с Камероном

Может кто-нибудь помочь мне с кодом, чтобы превратить это в смежностьматрица с атрибутом узла vertex.names?

1 Ответ

1 голос
/ 07 октября 2019

Данные в том виде, в каком они у вас есть, в основном являются краевым списком. Вы можете использовать igraph, чтобы превратить это в граф, а затем превратить в матрицу смежности.

EL = as.matrix(read.table(text="
Abigail Frank
Abigail Cameron
Billy Daniell
Ethan Cameron
Ethan Frank
Frank Cameron"))

library(igraph)

g = graph_from_edgelist(EL, directed = FALSE)
as.matrix(as_adjacency_matrix(g))

        Abigail Frank Cameron Billy Daniell Ethan
Abigail       0     1       1     0       0     0
Frank         1     0       1     0       0     1
Cameron       1     1       0     0       0     1
Billy         0     0       0     0       1     0
Daniell       0     0       0     1       0     0
Ethan         0     1       1     0       0     0
...