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

如何基于模块列表批量为基因表达数据框添加模块归属布尔列

批量为基因表达数据添加模块布尔列

前提说明

假设你的gene_express数据框中,存储基因名称的列名为gene,请根据实际情况替换。


方法1:Base R 循环实现

直接遍历模块列表,为每个模块生成对应的布尔列,列名自动沿用模块名称:

# 遍历所有模块
for (mod_name in names(Module_list)) {
  # 添加新列:判断当前基因是否在该模块中
  gene_express[[mod_name]] <- gene_express$gene %in% Module_list[[mod_name]]
}

方法2:Tidyverse 管道风格实现

用purrr的imap遍历模块列表,结合bind_cols合并结果,适合习惯管道语法的场景:

library(dplyr)
library(purrr)

# 生成所有模块对应的布尔列,并合并到原数据框
module_bool_cols <- imap(Module_list, ~ gene_express$gene %in% .x) %>%
  bind_cols()

gene_express <- bind_cols(gene_express, module_bool_cols)

关键说明

  • 两种方法都会自动使用Module_list中的模块名称作为新列的列名
  • 核心逻辑都是用%in%判断基因是否属于对应模块,替代手动的case_match
  • 如果你的基因名列不是gene,记得替换代码中所有的gene_express$gene为实际列名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 23:34:55