Coursera Course 9- Developing Data Products (Plotly)

This page is for the Coursera Data Science Specialization, Course 9: Developing Data Products (Week3).

Assignment: Create a web page presentation that features a plot created with Plotly. Host your webpage on either GitHub Pages, RPubs, or NeoCities. Your webpage must contain the date that you created the document, and it must contain a plot created with Plotly.

In order to illustrate the use of plotly we will use the mtcars dataset

Loading the packages and data summary

  if(require(plotly)==FALSE)(install.packages("plotly")); library(plotly)
  if(require(tidyverse)==FALSE)(install.packages("tidyverse")); library(tidyverse)
df<-mtcars
summary(df)
##       mpg             cyl             disp             hp       
##  Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
##  1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
##  Median :19.20   Median :6.000   Median :196.3   Median :123.0  
##  Mean   :20.09   Mean   :6.188   Mean   :230.7   Mean   :146.7  
##  3rd Qu.:22.80   3rd Qu.:8.000   3rd Qu.:326.0   3rd Qu.:180.0  
##  Max.   :33.90   Max.   :8.000   Max.   :472.0   Max.   :335.0  
##       drat             wt             qsec             vs        
##  Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :0.0000  
##  1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:0.0000  
##  Median :3.695   Median :3.325   Median :17.71   Median :0.0000  
##  Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :0.4375  
##  3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:1.0000  
##  Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :1.0000  
##        am              gear            carb      
##  Min.   :0.0000   Min.   :3.000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:3.000   1st Qu.:2.000  
##  Median :0.0000   Median :4.000   Median :2.000  
##  Mean   :0.4062   Mean   :3.688   Mean   :2.812  
##  3rd Qu.:1.0000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :1.0000   Max.   :5.000   Max.   :8.000
# Get Manufacturer
df$brand <- sapply(strsplit(rownames(df), " "), "[[", 1)

prep <- df %>%
  group_by(brand) %>%
  summarize(count = n()) 

Data Pre Processing

# Get Manufacturer
df$brand <- sapply(strsplit(rownames(df), " "), "[[", 1)

prep <- df %>%
  group_by(brand) %>%
  summarize(count = n()) 

head(prep)
## # A tibble: 6 x 2
##   brand    count
##   <chr>    <int>
## 1 AMC          1
## 2 Cadillac     1
## 3 Camaro       1
## 4 Chrysler     1
## 5 Datsun       1
## 6 Dodge        1

Donut Plot

plotDonut<- prep%>%
  plot_ly(labels = ~brand, values = ~count) %>%
  add_pie(hole = 0.5) %>%
  layout(title = "Usage of Plotly with a donut chart",  showlegend = F,
         xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
         yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
plotDonut
## Warning: package 'bindrcpp' was built under R version 3.4.4