2019年4月6日

Introduction

Using Shiny App development tool to create the data product and demonstrate the pattern for diamond's data. Therefore, we could through this design to predict the price by specific requirements.

Furthermore, we provided relative links for readers to get deeper inside the tool's design.

Tool Description

  • Diamonds Properties can be analysed using several Parameters.

  • Carat,Price,sample size,color Depth are some of the common parameters.

  • This Report enables to pick the right parameters for the best Diamond selection.

  • Final function is to predict the relative price for those parameters.

Dataset Overview

## # A tibble: 6 x 10
##   carat cut       color clarity depth table price     x     y     z
##   <dbl> <ord>     <ord> <ord>   <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 0.23  Ideal     E     SI2      61.5    55   326  3.95  3.98  2.43
## 2 0.21  Premium   E     SI1      59.8    61   326  3.89  3.84  2.31
## 3 0.23  Good      E     VS1      56.9    65   327  4.05  4.07  2.31
## 4 0.290 Premium   I     VS2      62.4    58   334  4.2   4.23  2.63
## 5 0.31  Good      J     SI2      63.3    58   335  4.34  4.35  2.75
## 6 0.24  Very Good J     VVS2     62.8    57   336  3.94  3.96  2.48

Attribute's structure

## Classes 'tbl_df', 'tbl' and 'data.frame':    53940 obs. of  10 variables:
##  $ carat  : num  0.23 0.21 0.23 0.29 0.31 0.24 0.24 0.26 0.22 0.23 ...
##  $ cut    : Ord.factor w/ 5 levels "Fair"<"Good"<..: 5 4 2 4 2 3 3 3 1 3 ...
##  $ color  : Ord.factor w/ 7 levels "D"<"E"<"F"<"G"<..: 2 2 2 6 7 7 6 5 2 5 ...
##  $ clarity: Ord.factor w/ 8 levels "I1"<"SI2"<"SI1"<..: 2 3 5 4 2 6 7 3 4 5 ...
##  $ depth  : num  61.5 59.8 56.9 62.4 63.3 62.8 62.3 61.9 65.1 59.4 ...
##  $ table  : num  55 61 65 58 58 57 57 55 61 61 ...
##  $ price  : int  326 326 327 334 335 336 336 337 337 338 ...
##  $ x      : num  3.95 3.89 4.05 4.2 4.34 3.94 3.95 4.07 3.87 4 ...
##  $ y      : num  3.98 3.84 4.07 4.23 4.35 3.96 3.98 4.11 3.78 4.05 ...
##  $ z      : num  2.43 2.31 2.31 2.63 2.75 2.48 2.47 2.53 2.49 2.39 ...

Interactive Plot Demo

Predict Selection: Carat:0.23 ; cut:Ideal ; Color:E ; Clarity:SI2

# Select columns to be used in the analysis
    diam <- diamonds[,c(1:4,7)]
    # build linear regression model
    fit <- lm( price~carat, diam)
    # predicts the price
    pred <- predict(fit, newdata = data.frame(carat = 0.23,
                                              cut = 'Ideal',
                                              color = 'E',
                                              clarity = 'SI2'))
    # Draw the plot using ggplot2
    Demo_plot <- ggplot(data=diam, aes(x=carat, y = price))+
      geom_point(aes(color = cut), alpha = 0.4)+
      geom_smooth(method = "lm")+
      geom_vline(xintercept = 0.23, color = "blue")+
      geom_hline(yintercept = pred, color = "blue")

Plot Show