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

R语言将矩阵每行转为字符向量并存为命名列表的方法

问题背景

现有一个记录生物通路与对应基因关联关系的0-1矩阵:

  • 矩阵行对应生物通路
  • 矩阵列对应相关基因
  • 单元格取值为1代表对应基因存在于该通路中,取值为0代表不存在

示例矩阵构造代码:

mat=matrix(c(0,0,1,0,1,1,1,1,1), nrow = 3, ncol = 3)
row.names(mat) = c("pathwayX", "pathwayY", "pathwayZ")
colnames(mat) = c("Gene1", "Gene2", "Gene3")

构造完成的示例矩阵结构:

Gene1Gene2Gene3
pathwayX001
pathwayY011
pathwayZ111
需求说明

需要通过R语言生成两个符合pathfindR包自定义基因集输入要求的命名列表:

  1. gene_sets列表:每个元素对应一个通路的全部组成基因,存储为字符向量,列表名与通路名一致。示例预期输出结构:
    > gene_sets
    $pathwayX
    [1] "Gene3"
    
    $pathwayY
    [1] "Gene2" "Gene3"
    
    $pathwayZ
    [1] "Gene1" "Gene2" "Gene3"
    
  2. description列表:每个元素存储对应通路的名称字符向量,列表名与通路名一致。示例预期输出结构:
    > description
    $pathwayX
    [1] "pathwayX"
    
    $pathwayY
    [1] "pathwayY"
    
    $pathwayZ
    [1] "pathwayZ"
    
R语言实现方法

按行遍历矩阵,筛选取值为1的列名即可快速构造两个符合要求的列表,可直接传入pathfindR后续分析流程,代码如下:

# 构造基因集列表
gene_sets <- apply(mat, 1, function(row) {
  names(row[row == 1])
})

# 构造通路描述列表
description <- as.list(setNames(rownames(mat), rownames(mat)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:27:16