【发布时间】:2022-05-12 15:40:45
【问题描述】:
我的问题很简单:我需要从边列表创建一个邻接列表/矩阵。
我有一个存储在 csv 文档中的边列表,其中 column1 = node1 和 column2 = node2,我想将其转换为加权邻接列表或加权邻接矩阵。
更准确地说,数据如下所示 - 其中数字只是节点 ID:
node1,node2
551,548
510,512
548,553
505,504
510,512
552,543
512,510
512,510
551,548
548,543
543,547
543,548
548,543
548,542
关于如何实现从这个到加权邻接列表/矩阵的转换的任何提示? 这就是我之前决定这样做的方式,但没有成功(感谢Dai Shizuka):
dat=read.csv(file.choose(),header=TRUE) # choose an edgelist in .csv file format
el=as.matrix(dat) # coerces the data into a two-column matrix format that igraph likes
el[,1]=as.character(el[,1])
el[,2]=as.character(el[,2])
g=graph.edgelist(el,directed=FALSE) # turns the edgelist into a 'graph object'
谢谢!
【问题讨论】:
-
您能否为我们提供一个可重现的小示例以及您可能尝试编写此代码的尝试?
-
This post 可能会有所帮助。
-
感谢@Arun 将我指向该帖子。这确实很有用,但如果我没记错的话,他们的数据已经以矩阵方式排列,而从我的问题的编辑版本中可以看出,我有不同的输入。通过编辑帖子,我希望我也回复了 Roman。
标签: r igraph adjacency-list adjacency-matrix sna