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

如何在R中生成仅含指定信息的目标蛋白质表格?

解决R代码筛选显著蛋白质并拆分表头的问题

原代码存在的问题

  • 读取数据时仅选取了A列,丢失了Log2、Significance等核心数据列
  • 未对Significance为+/!的显著条目进行筛选
  • 去除_P01类后缀的逻辑错误(trimws(whitespace = ".*")会清空内容)

修改后的完整代码

library(readxl)
library(dplyr)
library(tidyr)
library(stringr)
library(writexl)

# 读取完整数据(确保包含所有需要的列,若需限制行数可改为range = "A2:D5000")
totalproteome <- read_excel("C:/Users/cd.xlsx", sheet = 4, skip = 1)

# 数据处理流程
processed_data <- totalproteome %>%
  # 筛选Significance为+或!的显著条目
  filter(Significance %in% c("+", "!")) %>%
  # 拆分Fasta headers中用;分隔的多个条目
  separate_rows(`Fasta headers`, sep = ";") %>%
  # 去除_P01、_P02这类后缀(正则匹配下划线+P+数字格式)
  mutate(`Fasta headers` = str_remove(`Fasta headers`, "_P\\d+")) %>%
  # 保留需要的目标列
  select(`Fasta headers`, Log2, Significance) %>%
  # 去重(按需保留,若无需去重可删除此行)
  distinct()

# 输出结果到Excel文件
write_xlsx(processed_data, "BOOK.xlsx")

关键改动说明

  1. 读取完整数据:移除了仅限制A列的range参数,确保Log2、Significance列被正确读取
  2. 筛选显著条目:通过filter语句直接过滤出标记为+或!的行,排除无意义条目
  3. 精准去除后缀:使用stringr::str_remove配合正则表达式,只删除_P加数字的后缀,保留蛋白质名称
  4. 规范输出列:用select明确指定输出列,确保结果格式与期望完全匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 13:12:33