Week 3: Plotly Presentation

Jarek Kupisz

27th of October 2017

Summary

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.

Heatmap

Heatmap Code

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))