简体   繁体   中英

sorting data in geom_tile()

My data:

GFP_mywide<-bothdata[1:10,c(2,3,4)]

GFP_long<-melt(GFP_mywide, id =c('Entrez.Symbol'))

looks like this:

>GFP_long
Entrez.Symbol    variable value

1         TRIP11   GFP_my 1.015

2          SIN3B   GFP_my 0.336

3          SF3B1   GFP_my 0.315

4         PSMD14   GFP_my 0.254

5          RAD51   GFP_my 0.286

6          BARD1   GFP_my 0.157

7          BRCA1   GFP_my 0.275

8          BRCA1   GFP_my 0.230

9        U5200KD   GFP_my 0.772

10         SETD5   GFP_my 0.364

11        TRIP11 GFP_wide 0.020

12         SIN3B GFP_wide 0.055

13         SF3B1 GFP_wide 0.071

14        PSMD14 GFP_wide 0.102

15         RAD51 GFP_wide 0.109

16         BARD1 GFP_wide 0.139

17         BRCA1 GFP_wide 0.146

18         BRCA1 GFP_wide 0.146

19       U5200KD GFP_wide 0.151

20         SETD5 GFP_wide 0.179

I want to create a heatmap when the values are sorted according to GFP_wide, so in the plot I will see the green becoming red for the GFP_wide, and GFP_my will be ordered by the same Entrez.Symbol. Until now I have a heatmap but can't find a way to sort the values based on GFP_wide. How do I do that?

This is my code and result:

ggplot(GFP_long, aes(x=Entrez.Symbol,y=variable,fill=value)) + 

  geom_tile(aes(fill = value))+

  scale_fill_gradient(low="red", high="green")

在此处输入图像描述

Using the data from your other question:

library(dplyr); library(forcats) # please check these load successfully
GFP_long %>% 
  arrange(desc(variable), -value) %>% 
  mutate(Entrez.Symbol = fct_inorder(Entrez.Symbol)) %>%
ggplot(aes(x=Entrez.Symbol,y=variable,fill=value)) + 
  geom_tile(aes(fill = value))+
  # I'm modifying here to show the top row is ordered; hard to see in original
  scale_fill_gradient2(low="red", mid = "gray80", high="green", midpoint = 0.2)

在此处输入图像描述

Data: how to order column by a different column value r

GFP_long<-data.frame(Entrez.Symbol<-c("TRIP11","SIN3B","SF3B1","PSMD14","RAD51","BARD1", 
                                 "BRCA1","BRCA1","U5200KD","SETD5","TRIP11","SIN3B",  
                                 "SF3B1","PSMD14","RAD51","BARD1","BRCA1","BRCA1",
                                 "U5200KD","SETD5"),
                     variable<-c("GFP_my","GFP_my","GFP_my","GFP_my","GFP_my","GFP_my","GFP_my",  
                           "GFP_my","GFP_my","GFP_my","GFP_wide","GFP_wide","GFP_wide","GFP_wide",
                            "GFP_wide","GFP_wide","GFP_wide","GFP_wide","GFP_wide","GFP_wide"),
                      value<-c(1.015,0.336,0.315,0.254,0.286,0.157,0.275,0.230,0.772,0.364,
                         0.020,0.055,0.071,0.102,0.109,0.139,0.146,0.146,0.151,0.179))

colnames(GFP_long)<-c("Entrez.Symbol","variable","value")

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM