Eu tenho dados como o seguinte:
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
Eu o que polt um boxplot com cell_line_name, GSE_id, e modelar como eixo x, expr como eixo y, e mostrar a comparação entre o grupo A e 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)
Também o que adicionar rótulo significativo para cada comparação no valor x, tentei ggsignif
e ggpubr
, mas não funcionou.
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")))
A comparação precisa ser os nomes ou o índice de 2 valores no eixo x, então você pode:
facet_wrap
em vez de se esquivar e ocultar os painéis, ouage_group
no eixo x:Criado em 20/04/2024 com reprex v2.1.0