Correlation on the heatmap using pheatmap library
library(pheatmap)
df = read.csv("NEK7_BRCA.csv", sep = , header = TRUE)
head(df)
##      NEK7  UNC45A   NR3C1
## 1 13.7725 10.1443 13.0158
## 2 12.7417 10.9407 12.7186
## 3 12.7267 10.9141 12.5933
## 4 12.6931 10.6454 12.5922
## 5 12.5557 11.0752 12.5727
## 6 12.5164  9.8912 13.0979
pheatmap(cor(df))

Add correlation coefficients on the heatmap using ggplot2
library(ggplot2)
library(reshape2)

##attach(df)

cormat = round(cor(df),4)
head(cormat)
##           NEK7  UNC45A   NR3C1
## NEK7    1.0000 -0.3680  0.5039
## UNC45A -0.3680  1.0000 -0.2446
## NR3C1   0.5039 -0.2446  1.0000
get_lower_tri = function(cormat) {
  cormat[upper.tri(cormat)] = NA
  return(cormat)
}

get_upper_tri = function(cormat) {
  cormat[lower.tri(cormat)] = NA
  return(cormat)
}

upper_tri = get_upper_tri(cormat)
upper_tri
##        NEK7 UNC45A   NR3C1
## NEK7      1 -0.368  0.5039
## UNC45A   NA  1.000 -0.2446
## NR3C1    NA     NA  1.0000
lower_tri = get_lower_tri(cormat)
lower_tri
##           NEK7  UNC45A NR3C1
## NEK7    1.0000      NA    NA
## UNC45A -0.3680  1.0000    NA
## NR3C1   0.5039 -0.2446     1
reorder_comat = function(cormat) {
  dd = as.dist((1-cormat)/2)
  hc = hclust(dd)
  cormat = cormat[hc$order, hc$order]
}


cormat = reorder_comat(cormat)
cormat
##         UNC45A    NEK7   NR3C1
## UNC45A  1.0000 -0.3680 -0.2446
## NEK7   -0.3680  1.0000  0.5039
## NR3C1  -0.2446  0.5039  1.0000
upper_tri = get_upper_tri(cormat)
melted_cormat = melt(upper_tri, na.rm = TRUE)
melted_cormat
##     Var1   Var2   value
## 1 UNC45A UNC45A  1.0000
## 4 UNC45A   NEK7 -0.3680
## 5   NEK7   NEK7  1.0000
## 7 UNC45A  NR3C1 -0.2446
## 8   NEK7  NR3C1  0.5039
## 9  NR3C1  NR3C1  1.0000
ggheatmap = ggplot(melted_cormat, aes(Var2, Var1, fill = value)) + geom_tile(color = "white") + scale_fill_gradient2(low = "blue", high = "red", mid = "white", midpoint = 0, limit = c(-1, 1), space = "Lab", name = "Pearson\nCorrelation") + theme_minimal() + coord_fixed()

ggheatmap

ggheatmap + geom_text(aes(Var2, Var1, label = value), color = "black", size = 4) + theme(axis.title.x = element_blank(), axis.title.y = element_blank())

Visualize Correlation Matrix using Correlogram
library(corrplot)
## corrplot 0.84 loaded
library(RColorBrewer)

m = cor(df)
corrplot(m, type = "upper", dorder = "hclust", col = brewer.pal(n=8, name = "RdYlBu"))
## Warning in text.default(pos.xlabel[, 1], pos.xlabel[, 2], newcolnames, srt
## = tl.srt, : "dorder" is not a graphical parameter
## Warning in text.default(pos.ylabel[, 1], pos.ylabel[, 2], newrownames, col
## = tl.col, : "dorder" is not a graphical parameter
## Warning in title(title, ...): "dorder" is not a graphical parameter

ord = corrMatOrder(m, order = "AOE")
m2 = m[ord, ord]
corrplot.mixed(m2, upper = "circle", lower = "number")