R语言中将tibble转换为按TF分组靶基因分列的dataframe的方法
R语言TF靶基因表格式转换方案
直接使用tidyverse生态的函数即可完成需求,示例代码如下:
- 前置依赖安装与加载
如果尚未安装对应工具包,先执行安装:install.packages("tidyverse")
加载包:
library(tidyverse)
- 核心转换代码
假设你的原始tibble命名为tf_raw_data,转换代码如下:
# 执行格式转换 tf_wide_df <- tf_raw_data %>% # 按TF字段分组,把对应所有靶基因汇总为列表 group_by(TF) %>% summarise(targets = list(target)) %>% # 把靶基因列表拆分为独立列,列名格式为target_1、target_2... unnest_wider(targets, names_sep = "_") %>% # 新增默认值为None的Description字段 mutate(Description = "None") %>% # 调整列顺序,Description紧跟TF字段之后 select(TF, Description, everything()) %>% # 转为标准data.frame格式,若保留tibble可删除这一行 as.data.frame()
- 效果说明
- 输出结果每行对应唯一TF,列数自动匹配靶基因数量最多的TF的长度
- 靶基因数量较少的TF,后续缺失列自动填充NA值
- 若不需要
target_前缀的列名,可在unnest_wider函数中调整names_sep参数,或后续通过colnames()自定义列名
内容的提问来源于stack exchange,提问作者nik.van
相关产品推荐
相关产品推荐

