我有一个包含三列的数据集,名为"rede“,分别是rede$PORT、rede$COUNTRY和rede$WEIGHT。
我尝试创建一个二部图,其中两个第一列作为顶点,第三列作为它们之间的边的权重。
所以我执行
g <- graph_from_data_frame(rede)
E(g)$weight <- rede$WEIGHT根据bipartite文档,如果图是二部图,那么对于rede$PORT中的节点,g$type应该为TRUE,对于rede$COUNTRY中的节点,g$type应该为false,但最初g$type为空。
为了解决这个问题,我将所有$type节点都设置为TRUE
V(g)$type <- FALSE现在该图是二部图,但所有节点都属于组2。
为了将组1节点设置为False,我尝试了
V(g)$type <- V(g)$name %in% rede[,2] 我尝试将属于数据集类别COUNTRY: second列的节点的V(g)$type设置为TRUE,但它不起作用,当然,如果我将图绘制为二分图:
plot(g, vertex.label=NA, vertex.size=7, layout=layout.bipartite)我得到了一个平面图。
如果节点的名称是rede,2,那么如何将V(g)$type设置为True,然后获得真正的二分图,任何帮助都将非常受欢迎。
发布于 2020-06-25 01:19:03
回答者,以防有人需要它...V(g)$type <- bipartite_mapping(g)$type
https://stackoverflow.com/questions/62514736
复制相似问题