RWEPA | R - shiny企業實務應用

第4集-shiny銷售儀表板

Business Data Analytics

大綱

4.1 範例_runExample(“04_mpg”)

4.2 範例_runExample(“05_sliders”)

4.3 銷售儀表板-手繪版

4.4 銷售儀表板-完成版

4.5 習題-R與小明算命師

4.6 結論

4.1 範例_runExample(“04_mpg”)

library(shiny)
runExample("04_mpg")
# 程式碼解說

4.2 範例_runExample(“05_sliders”)

library(shiny)
runExample("05_sliders")
# 程式碼解說

4.3 銷售儀表板-手繪版

  • 4.3.1 資料集與儀表板-架構

  • 4.3.2 shiny銷售儀表板-手繪版

  • 4.3.3 Shiny Widgets Gallery

4.3.1 資料集與儀表板-架構

4.3.2 shiny銷售儀表板-手繪版

4.4 shiny銷售儀表板-完成版(1/5)

  • 資料摘要

資料明細(2/5)

國家別銷售統計表(3/5)

國家別銷售統計圖(4/5)

銷售趨勢圖(5/5)

shiny銷售儀表板

shiny銷售儀表板-匯入資料

library(shiny)   # shinyApp
library(dplyr)   # mutate_if, mutate, filter
library(DT)      # datatable
library(ggplot2) # ggplot
library(plotly)  # plot_ly

# 線上銷售儀表板App
# https://rwepa.shinyapps.io/shinySalesDashboard/
  
# 匯入資料
library(readxl)  # read_excel
# https://github.com/rwepa/DataDemo/blob/master/OnlineRetail.xlsx
sales <- read_excel(path="data/OnlineRetail.xlsx") # 匯入時間 < 10 seconds
sales # 541,909 × 8

shiny銷售儀表板-資料轉換

# 資料轉換
sales <- sales %>%
  mutate_if(is.character, as.factor) %>%   # 轉換 character 為 factor
  mutate(Amount=Quantity*UnitPrice) %>%    # 新增 Amount=Quantity*UnitPrice
  filter(Quantity > 0 & UnitPrice > 0) %>% # 篩選 Quantity>0 & UnitPrice>0
  na.omit()                                # 刪除 NA

summary(sales)
# sales # 397,884 × 9

save(sales, file = "data/sales.RData")

load("data/sales.RData")

shiny銷售儀表板-sales資料物件

  • sales資料物件結果

  • ui, server解說

4.5 習題-R與小明算命師

4.6 結論

  • 熟悉 ui, server函數

  • 熟悉 dplyr, DT, ggplot2, plotly套件

  • 理解第3章銷售儀表板建置

  • 第4章習題-R與小明算命師(解答…期待…第5集)

THANK YOU😃