df Gene Treated Untreated A 0.12 0.12 B 12.4 0.003 C 3.4 0.32 D 8.9 0.1 E 1.28 0.32 F -4.95 1.54 G -5.93 0.87 H 11.2 0.76 I 9.8 1.06
假设突出显示基因:C,F,G,I
提前谢谢
最佳
答案 0 :(得分:2)
我会给你一个ggplot2
的答案。为此,您需要重塑数据,因此有单独的x和y变量。现在,您的y值会分为两列。
然后,我们仅通过绘制子集的点来突出显示特定基因。
library(ggplot2)
library(dplyr)
library(tidyr)
gene_list <- c('C', 'F', 'G', 'I')
df_long <- gather(df, treatment, expression, -Gene)
ggplot(df_long, aes(treatment, expression)) +
geom_boxplot() +
geom_point(aes(color = Gene), filter(df_long, Gene %in% gene_list), size = 3) +
theme_minimal() +
labs(caption = 'p < 0.001')
要进行具体调整,请在SO上查看许多ggplot2
问题。