我目前正在使用Statnet包(http://statnet.csde.washington.edu/)在R中进行网络分析。
到目前为止,我已经能够:
1)使用network()函数构建社交网络。我拥有的信息最初包含在关联矩阵形式中(每个项目一行,列中的项目成员),在R中构建网络之前,我将其转换为邻近(社会矩阵)形式。
2)绘制网络并计算一般统计数据(包括整个网络和网络顶点)
3)向网络添加外部顶点属性
4)根据顶点的属性用不同的颜色绘制网络。
现在,我想通过向网络添加边缘属性来补充我的分析(以区分关系,例如不同类型的项目)。
我知道我可以使用set.edge.attribute()函数,并且我需要输入一个大小与网络中存在的边的总和相同的向量。然而,我并不确切地知道如何对边缘属性的向量进行排序,以便函数将它们正确地分配给相应的边缘。
有人知道network()函数如何在内部对边进行排序吗?关于如何对我的边缘属性向量进行排序以获得适当的匹配,您有什么想法吗?
提前感谢您的帮助!
发布于 2013-04-11 23:33:48
network()函数可以从各种类型的输入(例如边列表或邻接矩阵)创建网络,因此如果您提供了更多的代码示例来解释如何创建网络以及边属性数据所在结构的格式,它将有所帮助。
我相信在一般情况下,network()会以与输入边列表相同的顺序创建边。因此,如果边属性向量与原始数据的顺序相同,则应该能够安全地使用set.edge.attribute()。如果边属性采用矩阵形式,则可以使用set.edge.value()。
https://stackoverflow.com/questions/15822259
复制相似问题