如何在R中创建热图?

时间:2017-04-28 12:14:57

标签: r heatmap

我正在做一个多部分项目。首先,我有一个数据集,提供了多年来每个地区的存款。在清理数据集之后,我能够创建一个数据框,它可以按地区提供存款增长。我在3个不同的数据框架中增加了3种不同类型的机构 - 外国银行,公共银行和私人银行的存款,因为每行的行数不同。我被要求创建3张地图(热图),每种银行都有存款增长。

我的数据框看起来像附图。

我想为增长列制作热图。 enter image description here

感谢。

1 个答案:

答案 0 :(得分:2)

也许我通过这个答案提供了一些垃圾邮件,因此请不要随意删除它。

我将向您展示如何在R中制作一些热图: 假数据:

         Gene   Patient_A Patient_B Patient_C Patient_D
         BRCA1        52        46       124      148
         TP53         512       487      112      121
         FOX3D        841       658      321      364
         MAPK1        895       541      198      254
         RASA1        785       554      125      69
         ADAM18       12        65       85       121

hmcols <- rev(redgreen(2750))
heatmap.2(hm_mx, scale="row", key=TRUE, lhei=c(2,5), symkey="FALSE", density.info="none", trace="none", cexRow=1.1, cexCol=1.1, col=hmcols, dendrogram = "none")

enter image description here

如果是read.table,您可能必须将数据框转换为矩阵并将第一列作为行名称以避免来自R的错误:

hm <- read.table("hm1.txt", sep = '\t', header=TRUE, stringsAsFactors=FALSE)
row.names(hm) <- hm$Gene
hm_mx <- data.matrix(hm)
hm_mx <- hm_mx[,-c(1)]