如何用R的ggboxplot整合两个数据集绘制分组箱线图
实现方法
操作步骤
- 整合两个独立数据集为统一长表
ggboxplot仅支持在单个数据框内完成分组绘制,需要先为两个数据集新增来源标识,再纵向合并为可统一绘图的格式:# 为每个数据集添加来源标记 PatientData$dataset <- "PatientData" PatientData2$dataset <- "PatientData2" # 纵向拼接为整合数据表 CombinedData <- rbind(PatientData, PatientData2) - 调整x轴嵌套分组配置
将x轴设置为双层嵌套结构:外层为数据集名称,内层为原有CALC_ACT分组,即可匹配你需要的排布效果,无需拆分多个绘图对象手动拼接:library(ggpubr) ggboxplot(CombinedData, # x轴嵌套两层分组:先按数据集划分大区块,再按CALC_ACT划分箱线 x = c("dataset", "CALC_ACT"), y = "RATE", # 沿用原有配色规则,按CALC_ACT取值匹配对应颜色 color = "CALC_ACT", palette = c("#00AFBB", "#E7B800"), # 固定CALC_ACT的展示顺序为No在前、Yes在后 order = c("No", "Yes"), ylab = "Rate", # 移除x轴冗余的层级标签 xlab = "")
效果说明
生成的图形中,两个数据集的箱线会沿x轴横向紧邻排列:每个数据集对应的No、Yes两组箱线紧挨形成独立区块,数据集名称会自动对齐到对应区块的中点位置,标注在轴下方,完全匹配提出的排布要求。
内容的提问来源于stack exchange,提问作者Soph P
相关产品推荐
相关产品推荐

