R 利用边列表从二部图构造隶属网络

R 利用边列表从二部图构造隶属网络,r,igraph,R,Igraph,我有一个代表二分网络的边缘列表 ID1 ID2 1 123 1 124 1 125 2 123 2 126 3 127 3 123 3 130 ID1是一类演员,ID2是另一类演员。如何为参与者类(ID1中的所有顶点作为一个类,ID2中的所有顶点作为另一个类)指定属性,以将其用于二部网络分析。此外,我想从二部图中提取附属网络作为两个独立的图,并想导出它们 复制数据帧的代码可以在这里找到 x<-as.data.frame(matrix(c(1,1,1,2,2

我有一个代表二分网络的边缘列表

ID1 ID2
  1 123
  1 124
  1 125
  2 123
  2 126
  3 127
  3 123
  3 130
ID1是一类演员,ID2是另一类演员。如何为参与者类(ID1中的所有顶点作为一个类,ID2中的所有顶点作为另一个类)指定属性,以将其用于二部网络分析。此外,我想从二部图中提取附属网络作为两个独立的图,并想导出它们

复制数据帧的代码可以在这里找到

x<-as.data.frame(matrix(c(1,1,1,2,2,3,3,3,123,124,125,123,126,127,123,130),8,2))
colnames(x) <- c("ID1", "ID2")
g <- graph.data.frame(x, directed=F)

x您基本上只需要使用data.frame中的数据为顶点指定一个type属性。比如说

is_bipartite(g)
# [1] FALSE
V(g)$type <- V(g)$name %in% x[["ID1"]]
is_bipartite(g)
# [1] TRUE
是二分体(g)
#[1]错误

我不明白你在问什么。这里的期望输出是什么?图
g
需要如何更改?在当前形式中,我无法创建二部图,但我找不到分配值的解决方案(根据igraph文档,一类参与者需要分配值TRUE,另一类参与者需要分配值FALSE,以便将其检测为二部图)到一列。我希望这能让事情更清楚一点?