1

我想创建一个网络对象,表示基于边缘列表的有向网络。第一列包含项目负责人的一些唯一 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 列(项目负责人)对数据框进行了排序,但是,这并不总是显示为项目合作伙伴。

4

1 回答 1

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 系统?

于 2013-08-08T18:34:16.010 回答