将十六进制代码分配给数据帧中因子的颜色

问题描述

数据输出data subset

看起来像这样

head(d2)
  drug_id  drug_name                                                          synonyms                           Pathway
1    1559 Luminespib                                AUY922,VER-52296,NVP-AUY922,AUY Protein stability and degradation
2    1058 Pictilisib                                        GDC-0941,GDC0941,RG-7621               PI3K/MTOR signaling
3    1088 Irinotecan Camptosar,(+)-Irinotecan,Irinotecanum,irinotecan hydrochloride                   DNA replication
4    1549  Sapitinib                                                           AZD8931                    EGFR signaling
5    1558  Lapatinib                                                    Tykerb,Tyverb                    EGFR signaling
6    1050   ZM447439                                              ZM-447439,ZM 447439                           Mitosis
             targets  pubchem                               col
1              HSP90 10096043 Protein stability and degradation
2     PI3K (class 1) 17755052               PI3K/MTOR signaling
3               TOP1    60838                   DNA replication
4 EGFR,ERBB2,ERBB3 11488320                    EGFR signaling
5        EGFR,ERBB2   208908                    EGFR signaling
6       AURKA,AURKB  9914412                           Mitosis

我想向其中添加一列,可以为每个通路术语指定颜色。

在我的数据框中,我有 dim(d2) [1] 190 7 和存在的级别

unique(d2$Pathway)
 [1] Protein stability and degradation PI3K/MTOR signaling               DNA replication                  
 [4] EGFR signaling                    Mitosis                           Cell cycle                       
 [7] Other                             RTK signaling                     Apoptosis regulation             
[10] ERK MAPK signaling                Other,kinases                    WNT signaling                    
[13] Genome integrity                  Chromatin histone methylation     Chromatin other                  
[16] Metabolism                        p53 pathway                       Cytoskeleton                     
[19] Hormone-related                   Chromatin histone acetylation     IGF1R signaling                  
[22] ABL signaling                     JNK and p38 signaling            
24 Levels: ABL signaling Apoptosis regulation Cell cycle Chromatin histone acetylation ... WNT signaling

分配颜色的目的是我想将此数据框用于 waffle 图表

我试过这个 link 无法让它工作。任何建议将不胜感激

解决方法

我无法链接到您的数据。您介意检查一下它是否正常工作吗?

您可以使用这些函数之一为每个因子级别生成十六进制代码

rainbow()
heat.colors()
terrain.colors()
topo.colors()
cm.colors()

这是我想到的一种方法

lookup <- data.frame(
  color = rainbow(n = length(unique(d2$Pathway))),Pathway = unique(d2$Pathway))
 
# merge lookup table with original dataframe                   
d3 <- merge(d2,lookup,by = "Pathway")

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...