如何生成相关系数矩阵,并且绘制热图

参考资料:http://www.omicshare.com/forum/thread-741-1-1.html

install.packages("pheatmap")
setwd("E:/bioinfor/Rpractise/pheatmap/")
library("pheatmap")
library("ellipse")
rm(list = ls())
data <- read.table("./exp_top30.original.txt", head = T, sep = "\t", row.names = 1)
dim(data)
## [1] 30 20
# 计算列间相关系数,即两两样本间的表达量的相关系数
cor_matrix <- cor(data) # 计算相关系数
pheatmap(cor_matrix, display_numbers = T)

pheatmap(cor_matrix, cluster_rows = F, cluster_cols = F, display_numbers = T)

plotcorr(cor_matrix, numbers = T, type = "lower")

# 计算行间相关系数,即基因间的相关系数
data <- t(data)
write.table(data, "cor_gene_gene.txt", sep = "\t", quote = F)
cor_matrix <- cor(data) # 计算相关系数

pheatmap(cor_matrix, cluster_rows = F, cluster_cols = F, display_numbers = T)

bmp(filename = "cor_gene_gene.bmp")
pheatmap(cor_matrix, cluster_rows = F, cluster_cols = F, display_numbers = T, fontsize = 5, number_format = "%.2f")# fontsize_number定义格子中数字的字体大小, number_format 可以控制有效小数的位数,这里是保留两位小数;
dev.off()
## png 
##   2
pheatmap(cor_matrix, cluster_rows = F, cluster_cols = F, display_numbers = T, fontsize = 5, number_format = "%.2f")

plotcorr(cor_matrix,col = 1:nrow(cor_matrix), type = "lower")

** 总结:**

  1. 首先构建热图的包为pheatmap,明确其参数:cluster_cols, display_numbers, fontsize, number_format的作用

  2. read.table中row.names = 1 的使用含义:把数据第一列设为行名,其他常用参数:

  1. write.table中的quote = F 是把字符变量的引号去掉