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