【发布时间】:2026-01-07 20:20:04
【问题描述】:
从两个 data.frames df1 和 df2 开始,它们之间有连接键,我最终得到一个如下所示的 data.frame
# df3
# V ID1 X ID2
# 1 V1 1 X2 12
# 2 V2 2 X1 11
# 3 V2 2 X2 12
# 4 V3 3 X2 12
# 5 V2 2 X3 13
# 6 V4 4 X3 13
# 7 V5 5 X4 14
# 8 V6 6 X4 14
# 9 V7 7 X5 15
# 10 V8 8 X5 15
# 11 V9 9 X5 15
# 12 V8 8 X6 16
# 13 V10 10 X6 16
其中列V 和X 标识二分图的两组并将边排成行。 (我为下一个添加两列ID1 和ID2)从这里我需要得到二分图(BG)作为中间步骤,然后是所有簇的关联矩阵(最大独立顶点)。
为了获得BG,我会使用
df4 <- subset(df3, select=c("ID1","ID2"))
bg <- make_bipartite_graph(c(rep(0,nrow(df1)),rep(1,now(df2))), c(t(df4)))
第一个问题,有没有其他更聪明的方法可以从我的 data.frame 中获取二分图而不使用 ID 列,而是直接使用 V 和 X?
然后,对于集群,我将使用 clusters 函数,但我不知道该怎么做才能获得关联矩阵的子集(没有获得整个矩阵,因为它可能太大了) .你有什么想法吗?
【问题讨论】:
标签: r matrix sparse-matrix igraph bipartite