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

如何在R中按tpm值保留gene_name唯一行(取最大值)

修改后的R代码

在原有数据处理流程后添加分组筛选逻辑,即可保留每个gene_name对应tpm值最大的行:

file1 <- read.csv("file1.csv")
file2 <- read.csv("file2.csv")

merged_data <- file1 %>%
    merge(file2, by = "target_id") %>%
    select(gene_name, tpm) %>%
    group_by(gene_name) %>%
    slice_max(tpm, n = 1, with_ties = FALSE) %>%
    ungroup()

关键步骤说明

  • group_by(gene_name):按基因名对数据分组,将相同基因的行归为一组
  • slice_max(tpm, n = 1, with_ties = FALSE):在每个分组内筛选出tpm值最大的1行;with_ties = FALSE保证同一基因有多个相同最大值时只留一行(若需保留所有最大值行,可移除该参数)
  • ungroup():取消分组状态,避免后续操作受分组约束

这段代码处理你的示例输入时,会精准输出每个基因对应最大tpm的行,与期望结果完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 06:35:01