我有一个共现矩阵需要转换为igraph对象。该矩阵有三列 -
我已经使用
node1
、node2
和 freq
。我已经使用
graph_from_edgelist
命令创建了图形。g <- graph_from_edgelist(as.matrix(coOccurDf[1:n,1:2]), directed=F)
我现在需要为边分配权重。我尝试使用了两个函数,它们似乎都可以完成同样的工作,但是没有成功。
set.edge.attribute(g, "weight", index=E(g), coOccurDf[1:n,]$freq)
并且
set_edge_attr(g, "weight", index=E(g), coOccurDf[1:n,]$freq)
这两个命令都不会出错,但是当我尝试使用以下命令查看权重时:
E(g)$weight
它只是显示NULL
。
任何帮助都将不胜感激。
E(g)$weight <- whatever
写法比使用set_edge_attr
更加简洁。它可以使代码更加清晰易懂,同时达到相同的效果。 - Tamás