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

如何在ggplot2中对重复样本按样本类型分组绘制箱线图?

解决方法

核心思路是先给数据框新增一个分组列,将带重复标识的样本与原样本归为同一组,再基于这个分组列绘图。

1. 新增分组列

假设你的样本名称列叫Sample,可以用字符串处理工具提取统一的分组名称:

  • 用stringr包(推荐):
library(stringr)
# 去掉样本名末尾的"rep",生成分组
Data$Group <- str_remove(Data$Sample, "rep$")
  • 用基础R的sub函数(无需额外装包):
# 正则匹配末尾的"rep"并替换为空
Data$Group <- sub("rep$", "", Data$Sample)

如果重复样本的后缀是Rep、_rep这类变体,调整正则表达式即可,比如忽略大小写:sub("(?i)rep$", "", Data$Sample),或者匹配下划线:str_remove(Data$Sample, "_?rep$")。

2. 绘制分组箱线图

用新增的Group作为x轴分组,同时用原Sample列区分重复样本,方便对比重复间差异:

library(ggplot2)

ggplot(Data, aes(x = Group, y = 你的数值列名, fill = Sample)) +
  geom_boxplot(position = position_dodge(width = 0.8)) + # 让同组的重复样本箱线图并排
  labs(x = "样本类型", y = "指标数值", fill = "重复样本") +
  theme_bw()

这样就能把Mab1和Mab1rep归为同一组展示,同时保留重复样本的独立箱线图,清晰对比分布差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 06:50:27