我有一个名为volcano的数据集,如下所示:
DiffMean P.value
-0.0246757556 0.1
0.0050993889 0.002
-0.0169992614 0.008
0.0039905857 0.03
-0.0081568420 0.02
-0.0279989935 0.03
0.0313951281 0.44
-0.0097932018 0.22
-0.1033745673 0.003
0.1143251388 0.02
-0.0738617112 0.004
-0.0011579184 0.1
-0.0008561962 0.022
0.0435398270 0.11
-0.0380242369 0.05
0.1533720177 0.03
我想用ggplot绘制这个,但是如果DiffMean<我希望颜色为红色。 0和P.value<如果DiffMean> 0.05,则为蓝色或蓝色。 0和P.value< 0.05。
到目前为止我所拥有的是:
volcano$threshold = as.factor(abs(volcano$DiffMean)>0 & volcano$p.value.adj< 0.05)
ggplot(data=volcano, aes(x=DiffMean, y=-1*log10(p.value), colour=threshold)) +
geom_point(aes(alpha=0.4, size=1.75)) +
xlim(c(-1,1)) + ylim(c(0,25))
但我不知道如何使用这两个阈值。
答案 0 :(得分:1)
我会做这样的事情:
volcano$threshold <-
factor(ifelse(volcano$DiffMean>0 & volcano$p.value< 0.05,
1,
ifelse(volcano$DiffMean<0 & volcano$p.value< 0.05,
-1,
0)
))
library(ggplot2)
ggplot(data=volcano, aes(x=DiffMean, y=-1*log10(p.value), colour=threshold)) +
geom_point(alpha=0.4, size=5) +
scale_y_log10()