R 中的网络对象和邻接矩阵
Network object and adjacency matrix in R
我有一个包含以下信息的邻近网络:
阿比盖尔住在弗兰克附近
阿比盖尔住在卡梅伦附近
比利住在丹尼尔附近
Ethan 住在 Cameron 附近
Ethan 住在 Frank 附近
Frank 住在 Cameron 附近
有人可以帮我编写代码,将其变成具有 vertex.names 节点属性的邻接矩阵吗?
您拥有的数据基本上是一个边缘列表。您可以使用 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
我有一个包含以下信息的邻近网络:
阿比盖尔住在弗兰克附近
阿比盖尔住在卡梅伦附近
比利住在丹尼尔附近
Ethan 住在 Cameron 附近
Ethan 住在 Frank 附近
Frank 住在 Cameron 附近
有人可以帮我编写代码,将其变成具有 vertex.names 节点属性的邻接矩阵吗?
您拥有的数据基本上是一个边缘列表。您可以使用 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