You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻找可重排行列得到的全1最大尺寸子矩阵(基因表达矩阵场景)

寻找0-1矩阵中最大全1子矩阵(行=基因,列=样本)

现有一个0-1矩阵,行代表基因名称,列代表样本名称:

  • 元素为1:表示对应基因在该样本中表达
  • 元素为0:表示对应基因在该样本中不表达

我们需要找到在最多样本中表达的最大基因子集,也就是通过重排行和列,得到的尺寸最大的仅含1的子矩阵。以下是示例演示:

# 构造初始矩阵
mat <- matrix(c(1,0,1,1,1,0,1,0,1),nrow = 3,byrow = T)
mat
      [,1] [,2] [,3]
[1,]    1    0    1
[2,]    1    1    0
[3,]    1    0    1

### 第一步:交换第2列和第3列
mat1 <- mat
mat1[,2] <- mat[,3]
mat1[,3] <- mat[,2]
mat1
      [,1] [,2] [,3]
[1,]    1    1    0
[2,]    1    0    1
[3,]    1    1    0

### 第二步:交换第2行和第3行
mat2 <- mat1
mat2[2,] <- mat1[3,]
mat2[3,] <- mat1[2,]
mat2
      [,1] [,2] [,3]
[1,]    1    1    0
[2,]    1    1    0
[3,]    1    0    1

### 此时矩阵左上角的2×2子矩阵就是我们要找的最大全1子矩阵

内容的提问来源于stack exchange,提问作者wutao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 00:12:09