首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >geom_tile()中的数据排序

geom_tile()中的数据排序
EN

Stack Overflow用户
提问于 2022-09-11 20:26:09
回答 1查看 54关注 0票数 0

我的数据:

代码语言:javascript
运行
复制
GFP_mywide<-bothdata[1:10,c(2,3,4)]

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

看起来是这样的:

代码语言:javascript
运行
复制
>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

当值按照排序时,我想要创建一个热图,所以在图中,我将看到GFP_wide的绿色变成红色,而GFP_my将由相同的Entrez.Symbol命令。到目前为止,我有一个热图,但无法找到基于GFP_wide的值排序方法。我该怎么做?

这是我的代码和结果:

代码语言:javascript
运行
复制
ggplot(GFP_long, aes(x=Entrez.Symbol,y=variable,fill=value)) + 

  geom_tile(aes(fill = value))+

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-12 18:43:33

使用来自另一个问题的数据:

代码语言:javascript
运行
复制
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)

数据:how to order column by a different column value r

代码语言:javascript
运行
复制
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")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73682430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档