我有如下数据:
set.seed(123)
expr_data <- data.frame(
cell_line_name = rep(c("CL1", "CL2"), each = 50),
GSE_id = rep(c("GSE1", "GSE2"), each = 50),
model = rep(c("M1", "M2"), each = 50),
expr = rnorm(100),
age_group = sample(c('A', 'B'), 100, replace = TRUE)
)
cell_line_name GSE_id model expr age_group
1 CL1 GSE1 M1 -0.34391723 B
2 CL1 GSE1 M1 0.09049665 A
3 CL1 GSE1 M1 1.59850877 A
4 CL1 GSE1 M1 -0.08856511 A
5 CL1 GSE1 M1 1.08079950 B
6 CL1 GSE1 M1 0.63075412 B
7 CL1 GSE1 M1 -0.11363990 A
8 CL1 GSE1 M1 -1.53290200 B
9 CL1 GSE1 M1 -0.52111732 A
10 CL1 GSE1 M1 -0.48987045 B
11 CL1 GSE1 M1 0.04715443 A
我如何绘制一个箱线图,其中 cell_line_name、GSE_id 和模型作为 x 轴,expr 作为 y 轴,并显示 A 组和 B 组之间的比较
ggplot(expr_data.gene, aes(x = paste0(cell_line_name, '_', GSE_id, '_', model), y = expr, color = age_group)) +
geom_boxplot() +
geom_point(position = position_jitterdodge(), alpha = 0.5)
我还为 x 值中的每个比较添加符号标签,我已经尝试过ggsignif
和ggpubr
,但不起作用。
ggplot(expr_data.gene, aes(x = paste0(cell_line_name, '_', GSE_id, '_', model), y = expr, color = age_group)) +
geom_boxplot() +
geom_point(position = position_jitterdodge(), alpha = 0.5) +
ggpubr::stat_compare_means(comparisons = list(c("A", "B")))
比较需要是 x 轴上 2 个值的名称或索引,因此您可以:
facet_wrap
而不是躲避和隐藏面板,或者age_group
在 x 轴中:创建于 2024-04-20,使用reprex v2.1.0