Import packages
library(datasets)
library(magrittr)
library(dplyr)
library(data.table)
library(reshape2)
library(tidyr)
library(ggplot2)
Reshaping data
# Convert row names to column
mtcars_sc <- mtcars
mtcars_sc[1:11] <- as.data.frame(sapply(mtcars_sc[1:11], as.numeric))
mtcars_scale <- as.data.frame(scale(mtcars_sc))
mtcars_data <- data.table::setDT(data.frame(mtcars_scale), keep.rownames = TRUE)[]
mtcars_data <- data.frame(mtcars_data)
colnames(mtcars_data)[1] <- "automobile"
head(mtcars_data)
## automobile mpg cyl disp hp
## 1 Mazda RX4 0.1508848 -0.1049878 -0.57061982 -0.5350928
## 2 Mazda RX4 Wag 0.1508848 -0.1049878 -0.57061982 -0.5350928
## 3 Datsun 710 0.4495434 -1.2248578 -0.99018209 -0.7830405
## 4 Hornet 4 Drive 0.2172534 -0.1049878 0.22009369 -0.5350928
## 5 Hornet Sportabout -0.2307345 1.0148821 1.04308123 0.4129422
## 6 Valiant -0.3302874 -0.1049878 -0.04616698 -0.6080186
## drat wt qsec vs am gear
## 1 0.5675137 -0.610399567 -0.7771651 -0.8680278 1.1899014 0.4235542
## 2 0.5675137 -0.349785269 -0.4637808 -0.8680278 1.1899014 0.4235542
## 3 0.4739996 -0.917004624 0.4260068 1.1160357 1.1899014 0.4235542
## 4 -0.9661175 -0.002299538 0.8904872 1.1160357 -0.8141431 -0.9318192
## 5 -0.8351978 0.227654255 -0.4637808 -0.8680278 -0.8141431 -0.9318192
## 6 -1.5646078 0.248094592 1.3269868 1.1160357 -0.8141431 -0.9318192
## carb
## 1 0.7352031
## 2 0.7352031
## 3 -1.1221521
## 4 -1.1221521
## 5 -0.5030337
## 6 -1.1221521
# Reshaping using melt
mtcars_reshape <- reshape2::melt(mtcars_data, id.vars = c("automobile"))
head(mtcars_reshape)
## automobile variable value
## 1 Mazda RX4 mpg 0.1508848
## 2 Mazda RX4 Wag mpg 0.1508848
## 3 Datsun 710 mpg 0.4495434
## 4 Hornet 4 Drive mpg 0.2172534
## 5 Hornet Sportabout mpg -0.2307345
## 6 Valiant mpg -0.3302874
# Alternatively, reshaping using gather
mtcars_reshape_gather <- mtcars_data %>% tidyr::gather(metric, value, -automobile)
head(mtcars_reshape_gather)
## automobile metric value
## 1 Mazda RX4 mpg 0.1508848
## 2 Mazda RX4 Wag mpg 0.1508848
## 3 Datsun 710 mpg 0.4495434
## 4 Hornet 4 Drive mpg 0.2172534
## 5 Hornet Sportabout mpg -0.2307345
## 6 Valiant mpg -0.3302874
Plotting heat map
ggplot(mtcars_reshape, aes(x = variable, y = automobile)) + geom_tile(aes(fill = value)) + theme(text = element_text(size = 20))