我有一个代表二分网络的边缘列表。
ID1 ID2
1 123
1 124
1 125
2 123
2 126
3 127
3 123
3 130
ID1是一类演员,ID2是另一类演员。如何为actor类(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)
提前致谢!
答案 0 :(得分:0)
您基本上只需要使用data.frame中的数据为顶点指定一个type属性。例如
is_bipartite(g)
# [1] FALSE
V(g)$type <- V(g)$name %in% x[["ID1"]]
is_bipartite(g)
# [1] TRUE
此代码使用顶点名称将第一列中的所有值设置为TRUE。