data(mtcars)
x <- as.matrix(mtcars)
heatmap(x)
library(gplots)
##
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
##
## lowess
heatmap.2(x, Colv=FALSE, dendrogram="row",
trace = 'none',
denscol = 'navy',
adjCol = c(1,2),# 2-element vector giving the (left-right, top-bottom)
#justification of row/column labels
offsetRow = 1 #Number of character-width spaces to place between
#row/column labels and the edge of the plotting region.
)
## change the direction of column lable
heatmap.2(x, srtRow=0, srtCol=90,
offsetRow=0, offsetCol=0, col=bluered)
## scale is very very important!!
heatmap.2(x, srtRow=0, srtCol=90,
offsetRow=0, offsetCol=0,
col=bluered, scale = 'col'#normalized by column
)
#The package reshape is required to melt the correlation matrix :
library(reshape2)
corCar <- cor(t(mtcars))
melted_corMTCAR <- melt(corCar) # changed melt to pair correlation matrix
head(melted_corMTCAR)
## Var1 Var2 value
## 1 Mazda RX4 Mazda RX4 1.0000000
## 2 Mazda RX4 Wag Mazda RX4 0.9999946
## 3 Datsun 710 Mazda RX4 0.9897806
## 4 Hornet 4 Drive Mazda RX4 0.9755949
## 5 Hornet Sportabout Mazda RX4 0.9849219
## 6 Valiant Mazda RX4 0.9826444
# heatmap for correlation
library(ggplot2)
ggplot(data = melted_corMTCAR, aes(x=Var1, y=Var2, fill=value)) +
geom_tile()
# Get lower triangle of the correlation matrix
get_lower_tri<-function(cormat){
cormat[upper.tri(cormat)] <- NA
return(cormat)
}
# Get upper triangle of the correlation matrix
get_upper_tri <- function(cormat){
cormat[lower.tri(cormat)]<- NA
return(cormat)
}
# use extract upper.tri
upper_tri <- get_upper_tri(corCar)
head(upper_tri)
## Mazda RX4 Mazda RX4 Wag Datsun 710 Hornet 4 Drive
## Mazda RX4 1 0.9999946 0.9897806 0.9755949
## Mazda RX4 Wag NA 1.0000000 0.9898806 0.9756154
## Datsun 710 NA NA 1.0000000 0.9377512
## Hornet 4 Drive NA NA NA 1.0000000
## Hornet Sportabout NA NA NA NA
## Valiant NA NA NA NA
## Hornet Sportabout Valiant Duster 360 Merc 240D
## Mazda RX4 0.9849219 0.9826444 0.9966708 0.9709778
## Mazda RX4 Wag 0.9848669 0.9826990 0.9965779 0.9711244
## Datsun 710 0.9510709 0.9492576 0.9810345 0.9379252
## Hornet 4 Drive 0.9975793 0.9992580 0.9744818 0.9959252
## Hornet Sportabout 1.0000000 0.9987885 0.9868227 0.9893532
## Valiant NA 1.0000000 0.9814781 0.9948513
## Merc 230 Merc 280 Merc 280C Merc 450SE Merc 450SL
## Mazda RX4 0.9979862 0.9991635 0.9989810 0.9978407 0.9980218
## Mazda RX4 Wag 0.9981426 0.9991795 0.9990100 0.9977928 0.9979733
## Datsun 710 0.9905132 0.9926709 0.9922630 0.9808700 0.9812300
## Hornet 4 Drive 0.9754758 0.9675175 0.9674808 0.9801772 0.9802828
## Hornet Sportabout 0.9818801 0.9792033 0.9792976 0.9903899 0.9903916
## Valiant 0.9825497 0.9759904 0.9760419 0.9864589 0.9865508
## Merc 450SLC Cadillac Fleetwood Lincoln Continental
## Mazda RX4 0.9976821 0.9747543 0.9803858
## Mazda RX4 Wag 0.9976410 0.9747020 0.9803290
## Datsun 710 0.9806200 0.9339623 0.9430615
## Hornet 4 Drive 0.9800784 0.9978952 0.9970348
## Hornet Sportabout 0.9903498 0.9986132 0.9994983
## Valiant 0.9864103 0.9975630 0.9977794
## Chrysler Imperial Fiat 128 Honda Civic Toyota Corolla
## Mazda RX4 0.9883171 0.9665339 0.9679038 0.9497922
## Mazda RX4 Wag 0.9882470 0.9667258 0.9681143 0.9500043
## Datsun 710 0.9571134 0.9851826 0.9736937 0.9769965
## Hornet 4 Drive 0.9942116 0.9157302 0.9409279 0.8882435
## Hornet Sportabout 0.9992468 0.9215490 0.9398642 0.8950651
## Valiant 0.9966330 0.9258627 0.9470811 0.8998474
## Toyota Corona Dodge Challenger AMC Javelin Camaro Z28
## Mazda RX4 0.9942831 0.9826427 0.9858452 0.9963801
## Mazda RX4 Wag 0.9944076 0.9826074 0.9858144 0.9962848
## Datsun 710 0.9991120 0.9472385 0.9528131 0.9823933
## Hornet 4 Drive 0.9503239 0.9982656 0.9972864 0.9710662
## Hornet Sportabout 0.9622047 0.9998857 0.9999405 0.9843162
## Valiant 0.9607729 0.9990828 0.9988216 0.9785863
## Pontiac Firebird Fiat X1-9 Porsche 914-2 Lotus Europa
## Mazda RX4 0.9768412 0.9771175 0.9960446 0.9467139
## Mazda RX4 Wag 0.9767863 0.9773155 0.9960766 0.9467045
## Datsun 710 0.9376925 0.9926894 0.9968802 0.9811911
## Hornet 4 Drive 0.9990297 0.9273347 0.9592908 0.8552800
## Hornet Sportabout 0.9990524 0.9348882 0.9687526 0.8773760
## Valiant 0.9986500 0.9378364 0.9679007 0.8722962
## Ford Pantera L Ferrari Dino Maserati Bora Volvo 142E
## Mazda RX4 0.9952363 0.9495308 0.9598113 0.9879852
## Mazda RX4 Wag 0.9951176 0.9494473 0.9596644 0.9880478
## Datsun 710 0.9859917 0.9761739 0.9768834 0.9990375
## Hornet 4 Drive 0.9615811 0.8588699 0.8802035 0.9309608
## Hornet Sportabout 0.9769543 0.8864176 0.9075443 0.9470799
## Valiant 0.9703559 0.8765768 0.8963508 0.9433944
# Melt the correlation matrix
melted_cormat <- melt(upper_tri, na.rm = TRUE)
# Heatmap
ggplot(data = melted_cormat, aes(Var2, Var1, fill = value))+
geom_tile(color = "white")+
scale_fill_gradient2(low = "navy", high = "red", mid = "white",
midpoint = 0.925, limit = c(0.85,1), space = "Lab",
name="Pearson\nCorrelation") +
theme_minimal()+
theme(axis.text.x = element_text(angle = 45, vjust = 1,
size = 8, hjust = 1))+
coord_fixed()