【发布时间】:2013-04-09 21:49:27
【问题描述】:
我有一个三列的数据库,前两列代表图顶点的ID,而第三列代表它们之间的距离。
cbind(id1=c(10,10,30,12,400,30),id2=c(11,12,400,30,10,79),dist=c(1000,20000,30123,1233,20200,400))
id1 id2 dist
[1,] 10 11 1000
[2,] 10 12 20000
[3,] 30 400 30123
[4,] 12 30 1233
[5,] 400 10 20200
[6,] 30 79 400
为了让 igraph 包读取这样的数据,顶点 id 需要是连续的并且从一个开始。所以是这样的:
id1 id2 dist
[1,] 1 2 1000
[2,] 1 3 20000
[3,] 4 5 30123
[4,] 3 4 1233
[5,] 5 1 20200
[6,] 4 6 400
任何人都可以建议我一种自动执行此操作的方法吗? 此外,我还想为 ids 创建原始名称和新名称的转换表:
old_id new_id
[1,] 1 1
[2,] 11 2
[3,] 12 3
[4,] 30 4
[5,] 400 5
[6,] 79 6
提前感谢您的帮助!
【问题讨论】: