通过边缘列表创建网络对象的顶点名称(R包:网络)

时间:2013-06-30 10:44:57

标签: r networking

我想创建一个网络对象,代表基于边缘列表的有向网络。第一列包含一些项目负责人的唯一ID,第二个项目合作伙伴,让我们说:

library("network")
x <- cbind(rbind(1,1,2,2,3), rbind(3,7,10,9,6)) 
y.nw <- network(x, matrix="edgelist", directed=TRUE, loops=FALSE)

现在我的问题是:我需要所有顶点都有正确的ID,因为在创建网络对象后,我必须将其转移回具有正确相应公司ID的邻接矩阵。但是,我不确定我应该按什么顺序分配它们,因为我按第1列(项目负责人)对数据框进行了排序,然而,这并不总是显示为项目合作伙伴。

1 个答案:

答案 0 :(得分:0)

如果您的id是示例中的连续整数,则可以在示例中生成与edgelist相对应的邻接矩阵:

>as.sociomatrix(y.nw))
   1 2 3 4 5 6 7 8 9 10
1  0 0 1 0 0 0 1 0 0  0
2  0 0 0 0 0 0 0 0 1  1
3  0 0 0 0 0 1 0 0 0  0
4  0 0 0 0 0 0 0 0 0  0
5  0 0 0 0 0 0 0 0 0  0
6  0 0 0 0 0 0 0 0 0  0
7  0 0 0 0 0 0 0 0 0  0
8  0 0 0 0 0 0 0 0 0  0
9  0 0 0 0 0 0 0 0 0  0
10 0 0 0 0 0 0 0 0 0  0

但也许你的实际输入中有不同类型的id系统?