首页 文章

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

提问于
浏览
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列(项目负责人)对数据框进行了排序,然而,这并不总是显示为项目合作伙伴 .

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

相关问题