现在R中绘制热图的方式有很多,常用的如pheatmap、ComplexHeatmap包等,这里再给各人先容一个轻量级的R包-HeatmapR包,即无需过多的前期数据处置惩罚,可同时可视化含有离散型和一连性的矩阵。
Github地点:https://github.com/DillonHammill/HeatmapR
准备数据
## 按照R包devtools::install_github("DillonHammill/HeatmapR")library(HeatmapR)## 准备数据data <- mtcarsdata <- data[sample(nrow(data),20),]head(data)> str(data)'data.frame': 20 obs. of 11 variables: $ mpg : num 21.4 17.8 32.4 30.4 18.1 27.3 22.8 21 19.2 16.4 ... $ cyl : num 4 6 4 4 6 4 4 6 8 8 ... $ disp: num 121 167.6 78.7 75.7 225 ... $ hp : num 109 123 66 52 105 66 93 110 175 180 ... $ drat: num 4.11 3.92 4.08 4.93 2.76 4.08 3.85 3.9 3.08 3.07 ... $ wt : num 2.78 3.44 2.2 1.61 3.46 ... $ qsec: num 18.6 18.9 19.5 18.5 20.2 ... $ vs : num 1 1 1 1 1 1 1 0 0 0 ... $ am : num 1 0 1 1 0 1 1 1 0 0 ... $ gear: num 4 4 4 4 3 4 4 4 3 3 ... $ carb: num 2 4 1 2 1 1 1 4 2 3 ...现在,数据集里各列都是数值型的数据,先简单出图看下结果。
底子绘图
library(HeatmapR)heat_map( data, scale = "column", scale_method = "range", # "range", "mean" or "zscore" 三种标准化方式 tree_x = TRUE, ## 体现X轴聚类 tree_y = TRUE, ##体现Y轴聚类 tree_cut_x = 4, ## 行分割数 tree_cut_y = 12, ##列分割数 cell_text = TRUE, ## 体现数值 cell_text_col = 'black', cell_size = TRUE, ## 控制巨细 cell_shape = "diamond", #设置性状 title = "mtcars")添加缺失值并改变数据范例
此包的便捷性在于可将同时含有一连性和离散型矩阵可视化热图,这里随机添加几个缺失值,并改变cyl列的数据为因子范例,然后再绘制热图看下结果。 |