我正在准备一些网络数据以使用 statnet 库在 R 中运行 ERGM。我想为运行 ERGM 时将使用的边缘分配一个属性。该矩阵包括网络中每个平局的 0 到 1 之间的数字。当我使用 set.edge.attribute 时出现错误,提示“set.edge.attribute 中给出的值不合适”。
我首先认为包含我要添加的属性的矩阵中的值可能存在问题。为了检查这一点,我创建了一个包含随机数的矩阵并再次运行 set.edge.attribute 代码,但仍然出现错误。
我将网络和边缘属性导入为 CSV 文件,将网络文件转换为网络对象,并将边缘属性转换为矩阵。边属性与网络中的边数相同。
library(statnet)
NetworkGraph = network(NetworkData,type="adjacency", directed=FALSE)
EdgeInfo = as.matrix(EdgeInfo)
NetworkGraph<-set.edge.attribute(NetworkGraph,"edge_attribute", EdgeInfo)
为了生成一个属性矩阵来测试它,我使用 runif 来创建一个新矩阵,但我仍然得到同样的错误):
Test = matrix(runif(23*23), nrow=23, ncol=23)
NetworkGraph<-set.edge.attribute(NetworkGraph,"edge_attribute", Test)
什么可以使这项工作?