我有一个由三列组成的数据集,称为"rede",分别是rede$PORT rede$COUNTRY,rede$WEIGHT是数据集的列。
我尝试创建一个二分图,其中两列作为顶点,第三列作为它们之间边缘的权重。
所以我执行
g <- graph_from_data_frame(rede)
E(g)$weight <- rede$WEIGHT
根据二分文档,如果图是二分的,g$type 对于 rede$PORT 中的节点应该是 TRUE,对于 rede$COUNTRY中的节点,但最初g$type为NULL。
为了尝试解决它,我将所有$type
节点设置为 TRUE
V(g)$type <- FALSE
现在图形是二分的,但所有节点都属于组 2。
要将组 1 节点设置为 False,我尝试过
V(g)$type <- V(g)$name %in% rede[,2]
我尝试将属于类别 COUNTRY 的节点V(g)$type
设置为 TRUE:数据集的第二列,但它不起作用,当然,如果我将图形绘制为二分图:
plot(g, vertex.label=NA, vertex.size=7, layout=layout.bipartite)
我得到一个平坦的图。
如果节点的名称在 rede[,2] 中,有关如何将 V(g($type 设置为 True 然后获得真正的二分图的任何帮助将非常受欢迎。
answwer,以防万一有人可能需要它...... V(g($type <- bipartite_mapping(g($type