程式碼解釋 +
圖型展示
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)