Цвет выделите конкретные гены на участке вулкана (R) - PullRequest
0 голосов
/ 13 февраля 2019

Я довольно новичок в этом.Я хочу построить участок вулкана, который будет выглядеть примерно так: Это то, что у меня пока есть

Со следующим кодом:

genes <- read_excel("VolcanoData.xlsx")
genes$Significant <- ifelse(genes$pvalue < 0.00000519, "FDR < 0.00000519", "Not Sig")

ggplot(data=genes, aes(x = rho, y = -log10(pvalue)))+
  geom_point(aes(color = Significant), size=0.1)+
  theme_bw(base_size = 12) + theme(legend.position = "bottom")+
  scale_color_manual(values = c("red", "grey"))

И данные, которые выглядяткак-то так

head(genes)
# A tibble: 6 x 5
  gene       rho   pvalue label  Significant     
  <chr>    <dbl>    <dbl> <chr>  <chr>           
1 NUBPL   -0.936 9.79e-30 normal FDR < 0.00000519
2 EPB41L5 -0.931 2.41e-29 ND     FDR < 0.00000519
3 PIGU    -0.930 4.49e-29 normal FDR < 0.00000519
4 TSHR    -0.920 6.78e-27 normal FDR < 0.00000519
5 ENPEP   -0.916 1.11e-26 normal FDR < 0.00000519
6 SEC22A  -0.910 3.88e-26 normal FDR < 0.00000519

tail(genes)
# A tibble: 6 x 5
  gene          rho pvalue label  Significant
  <chr>       <dbl>  <dbl> <chr>  <chr>      
1 HIGD1B  0.00144    0.993 normal Not Sig    
2 CHST3  -0.000712   0.996 normal Not Sig    
3 TLR10   0.000418   0.998 normal Not Sig    
4 AVPR1A -0.000333   0.998 ND     Not Sig    
5 MFSD10 -0.000314   0.998 normal Not Sig    
6 PARP10  0.0000317  1.000 normal Not Sig 

Я бы хотел окрасить только гены, помеченные "ND", в черный.Я пробовал разные комбинации, но не могу заставить их работать.Спасибо!

1 Ответ

0 голосов
/ 13 февраля 2019

Вы можете попытаться использовать подмножество данных gene, используя grepl функцию внутри geom_point:

ggplot(data=genes, aes(x = rho, y = -log10(pvalue)))+
  geom_point( data = genes[grepl("ND", genes$label),], 
              aes(color = Significant), 
              size=0.1)+
  theme_bw(base_size = 12) + 
  theme(legend.position = "bottom")+
  scale_color_manual(values = c("red", "grey"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...