套件載入

library(readr)
library(stringr)
library(magrittr)
library(DT)

資料集

資料載入

dataset <- read_csv("http://data.gov.tw/iisi/logaccess/70163?dataUrl=http://apiservice.mol.gov.tw/OdService/download/A17000000J-020050-MUA&ndctype=CSV&ndcnid=6281")
## Parsed with column specification:
## cols(
##   `指示/發佈日期(民國)` = col_character(),
##   `內容/調整金額(新台幣)` = col_character(),
##   `實施日期(民國)` = col_character()
## )
names(dataset) <- c("annc_date", "salary", "started")

資料處理

dataset <- dataset[-c(1:6),]
dataset$monthly <- str_extract_all(dataset$salary, "月薪.*", simplify = T) %>% 
  strsplit("、") %>% sapply(`[`, 1) %>% gsub("月薪|,","", .) %>% as.numeric()

dataset$daily <- str_extract_all(dataset$salary, "日薪.*", simplify = T) %>% 
  strsplit("、") %>% sapply(`[`, 1) %>% gsub("日薪|,","", .) %>% as.numeric()

dataset$hourly <- str_extract_all(dataset$salary, "時薪.*", simplify = T) %>% 
  strsplit("、") %>% sapply(`[`, 1) %>% gsub("時薪|,","", .) %>% as.numeric()
dataset$monthly[dataset$started=="102年1月1日"] <- dataset$monthly[dataset$started=="102年4月1日"]
dataset$monthly[dataset$started=="103年1月1日"] <- dataset$monthly[dataset$started=="103年7月1日"]

dataset <- dataset[(dataset$started!="102年4月1日" &
                    dataset$started!="103年7月1日" &
                    dataset$started!="105年10月1日"),]

資料轉換

dataset$daily[is.na(dataset$daily)] <- dataset$hourly[is.na(dataset$daily)] * 8

結果呈現與視覺化

tmp <- dataset$monthly/dataset$daily
tmp <- as.table(tmp)
names(tmp) <- str_extract_all(dataset$started,".*月",simplify = T)
par(family = "STKaiti")
barplot(tmp, las=2, main = "民國67年至106年相等月薪之工作時數")

par(family = "STKaiti")
bp <- barplot(tmp[-c(1:15)], las=2, main = "民國96年至106年相等月薪之工作時數",
        ylim = c(0,25))
text(bp,y=10,labels = round(tmp[-c(1:15)],1))

你怎麼看?