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

在R中嵌套合并表格:将肽表条目嵌套至对应蛋白质条目下

解决方法

首先你的原始数据框定义存在语法错误——字符串未加引号,R会将其识别为变量而非字符值,先修正数据:

# 修正后的数据框定义
ProteinList <- data.frame(
  Proteins = c("A1INK5", "K1SNC9"),
  Abundance = c(67, 25),
  stringsAsFactors = FALSE
)

PeptideList <- data.frame(
  MasterProtein = c("A1INK5", "A1INK5", "A1INK5", "K1SNC9", "K1SNC9"),
  Peptides = c("VSAITLEDGVYR", "TLEDGVY", "LEDGVYRTD", "KNSLRGFDDDE", "MKLSFYHPNS"),
  Positions = c("[1-65]", "[53-78]", "[70-88]", "[30-42]", "[41-55]"),
  stringsAsFactors = FALSE
)

R的基础数据结构是矩形的,无法直接存储“嵌套行”格式,但可以通过两种方式实现你要的效果:


方法1:生成可视化嵌套表格(推荐,美观易读)

使用gt包可以快速创建符合需求的分组嵌套表格,适合报告展示:

安装并加载依赖包

# 首次使用先安装包
install.packages(c("dplyr", "gt"))

# 加载包
library(dplyr)
library(gt)

合并数据并生成表格

# 关联两个数据框
merged_data <- left_join(ProteinList, PeptideList, by = c("Proteins" = "MasterProtein"))

# 创建嵌套分组表格
ProteinPeptideList <- merged_data %>%
  gt(groupname_col = "Proteins") %>%
  tab_header(title = "ProteinPeptideList") %>%
  cols_label(
    Abundance = "Abundance",
    Peptides = "Peptides",
    Positions = "Positions"
  ) %>%
  # 让每个蛋白质的丰度只显示一次
  tab_style(
    style = cell_text(align = "left"),
    locations = cells_body(columns = Abundance, rows = duplicated(Abundance))
  ) %>%
  # 重复的丰度位置留空
  fmt_missing(columns = Abundance, missing_text = "")

# 查看结果
ProteinPeptideList

运行后会生成一个结构化的表格:每个蛋白质仅显示一次名称和丰度,下方缩进展示对应所有肽段的信息,完全匹配你的预期格式。


方法2:生成纯文本格式表格(基础R,无需额外包)

如果只需要在控制台输出纯文本格式的嵌套表,用基础R代码即可:

# 遍历每个蛋白质
for (protein in ProteinList$Proteins) {
  # 打印蛋白质名称和丰度
  cat(sprintf("%-10s %d\n", protein, ProteinList$Abundance[ProteinList$Proteins == protein]))
  # 打印肽段表头
  cat(sprintf("%-10s %-18s %s\n", "", "Peptides", "Positions"))
  # 打印当前蛋白质对应的所有肽段
  peptides_subset <- PeptideList[PeptideList$MasterProtein == protein, ]
  for (i in 1:nrow(peptides_subset)) {
    cat(sprintf("%-10s %-18s %s\n", "", peptides_subset$Peptides[i], peptides_subset$Positions[i]))
  }
  # 空行分隔不同蛋白质
  cat("\n")
}

这段代码会在R控制台输出你要的纯文本嵌套结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 20:00:09