Jarek Kupisz
27th of October 2017
This presentation shows heatmap built with plotly library and R markdown, as a solution to assignment of week 3 of Developing Data Products Coursera Course. It’s using dataset prepared by Velloso, E. et al. for Qualitative Activity Recognition of Weight Lifting Exercises article which contains measurements of accelerometers, gyroscopes and magnetomoeters attached to different part of subject’s body. Heatmap will be a correlation matrix between chosen variables.
har <- read.csv("pml-training.csv", stringsAsFactors = F)
na.count <- sapply(har, function(c) sum(is.na(c))/length(c))
vars <- names(na.count[na.count == 0])
har <- har[,vars]
char.vars <- names(which(sapply(har, class) == "character"))
char.perc <- suppressWarnings(sapply(har[,char.vars],
function(c){
sum(is.na(as.numeric(c))/length(c))
})
)
not.char.only <- char.perc[char.perc != 1]
har <- har[,!(colnames(har) %in% names(not.char.only))]
char.only <- names(char.perc[char.perc == 1])
char.only <- char.only[char.only != "classe"]
har <- har[,!(colnames(har)%in%char.only)]
numeric.not.needed <- c("X", "raw_timestamp_part_1",
"raw_timestamp_part_2", "num_window")
har <- har[,!(colnames(har) %in% numeric.not.needed)]
har.cor <- cor(har[, -53])
suppressWarnings(require(plotly, quietly = T, warn.conflicts = F))
plot_ly(x = colnames(har[, -53]), y = colnames(har[, -53]), z = har.cor,
colorscale = "Greys", type = "heatmap") %>%
layout(margin = list(b = 120, l = 140), xaxis = list(tickangle = 45))