【问题标题】:How to specify two thresholds for ggplot?如何为ggplot指定两个阈值?
【发布时间】:2014-06-19 18:54:27
【问题描述】:

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

    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

到目前为止我所拥有的是:

 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))

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

【问题讨论】:

  • 您的代码不适用于示例数据。

标签: r colors ggplot2


【解决方案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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 1970-01-01
    • 2019-10-16
    相关资源
    最近更新 更多