R 如何为ggplot指定两个阈值?

R 如何为ggplot指定两个阈值?,r,colors,ggplot2,R,Colors,Ggplot2,我有一个名为火山的数据集,如下所示: 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

我有一个名为火山的数据集,如下所示:

    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<0.05,我希望颜色是红色,如果DiffMean>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))
volcano$threshold=as.factor(abs(volcano$DiffMean)>0和volcano$p.value.adj<0.05)
ggplot(数据=火山,aes(x=扩散平均值,y=-1*log10(p.值),颜色=阈值))+
几何点(aes(α=0.4,尺寸=1.75))+
xlim(c(-1,1))+ylim(c(0,25))

但我不知道如何使用这两个阈值。

我会这样做:

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()
volcano$threshold 0和volcano$p.value<0.05,
1.

ifelse(volcano$diff)表示您的代码不能处理示例数据。