應用統計期末報告子組題 (G)

Ya-Ju Hsieh

2023-10-03

0.1 地理資訊統計地圖

  • 在公開資訊平台 找到有經緯度的資料

0.2 前言

  • 配合辦理發放公費COVID-19家用快篩試劑社區定點診所名單
  • 沒有星等圖

0.3 程式碼解釋 + 圖型展示

rm(list=ls(all=TRUE))
library(data.table)
library(stringr)
library(leaflet)

csv_url = "https://od.cdc.gov.tw/eic/covid19/covid19_free_rapid_antigen_test_clinics.csv"
data = data.table::fread(csv_url, header=TRUE)

data = as.data.frame(data)

# cols = c("序號", "鄉鎮市區別", "診所名稱", "診所地址", "診所地址", "Long", "Lat")

# 檢查 data[,"緯度"] 為 NA 之個數:
sum(is.na(data[,"Lat"]) == TRUE)
## [1] 0
# 0

# 檢查 data[,"緯度"] 為 NA 之數據內容:
data[is.na(data[,"Lat"]) == TRUE,]
## [1] 序號       縣市別     鄉鎮市區別 診所名稱   診所地址   診所電話   Long      
## [8] Lat       
## <0 rows> (or 0-length row.names)
# 檢查 data[,"經度"] 為 NA 之個數:
sum(is.na(data[,"Long"]) == TRUE)
## [1] 0
# 0

# 檢查 data[,"經度"] 為 NA 之數據內容:
data[is.na(data[,"Long"]) == TRUE,]
## [1] 序號       縣市別     鄉鎮市區別 診所名稱   診所地址   診所電話   Long      
## [8] Lat       
## <0 rows> (or 0-length row.names)
# is.na() 為檢查是否為 NA (回傳值為 TRUE or FALSE)。

data$popup = paste0("序號:", data$序號, "<br>",
                    "鄉鎮市區別:", data$鄉鎮市區別, "<br>",
                    "診所名稱:", data$診所名稱, "<br>",
                    "診所地址:", data$診所地址 ,"<br>",
                    "診所電話:", data$診所電話 ,"<br>")
                    
map1 = leaflet() %>%
  addTiles() %>%
  addCircles(data=data, 
             lng=~Long, 
             lat=~Lat,
             popup=~popup)
map1
#output1 = "/Users/alicehsieh/Desktop/R語言/子主題/配合辦理發放公費COVID-19家用快篩試劑社區定點診所名單-map1.html"
#htmlwidgets::saveWidget(map1, output1)

# map3 (地區分顏色)
alpha = 0.9
towns_color = data.frame("town"=unique(data$縣市別),
                         "color"=topo.colors(length(unique(data$縣市別)), alpha=alpha))
pal_地區 = leaflet::colorFactor(palette=towns_color$color, 
                              domain=towns_color$town)
map3 = leaflet() %>% 
  addTiles() %>%
  addCircles(data=data,
             lng=~Long,
             lat=~Lat,
             color=~pal_地區(縣市別),
             radius=2,
             fillOpacity=alpha, 
             popup=~popup) %>%
  addLegend(position="topright", pal=pal_地區, values=data$縣市別)
map3
#output3 = "/Users/alicehsieh/Desktop/R語言/子主題/配合辦理發放公費COVID-19家用快篩試劑社區定點診所名單-map3.html"
#htmlwidgets::saveWidget(map3, output3)

# map4 (增加標示圖案)
logo = "/Users/alicehsieh/Desktop/09155223:Ya-Ju,Hsieh:alice030662@gmail.com:2023.6.4/coronavirus-6099135_1280.png"
#路徑需更改
icon = leaflet::makeIcon(logo,
                         iconWidth=12,
                         iconHeight=12)
map4 = leaflet() %>% 
  addTiles() %>%
  addMarkers(data=data, 
             lng=~Long,
             lat=~Lat,
             icon=icon,
             popup=~popup)
map4
#output4 = "/Users/alicehsieh/Desktop/R語言/子主題/配合辦理發放公費COVID-19家用快篩試劑社區定點診所名單-map4.html"
#htmlwidgets::saveWidget(map4, output4)

# map5 (群聚地理資訊地圖)
logo = "/Users/alicehsieh/Desktop/R語言/子主題/coronavirus-6099135_1280.png"

icon = leaflet::makeIcon(logo,
                         iconWidth=12,
                         iconHeight=12)
map5 = leaflet() %>% 
  addTiles() %>%
  addMarkers(data=data, 
             lng=~Long, 
             lat=~Lat, 
             icon=icon,
             popup=~popup,
             clusterOptions=markerClusterOptions())
map5
#output5 = "/Users/alicehsieh/Desktop/R語言/子主題/配合辦理發放公費COVID-19家用快篩試劑社區定點診所名單-map5.html"
#htmlwidgets::saveWidget(map5, output5)

0.4 結論

  • 找資料是最困難的,因為要人工篩選適合的資料,跟自己感興趣的主題
  • 能從四個圖看出北部的公費發放快塞還是明顯地高於其他地區