Load packages
Create a web-based interactive map for COIVD-19 data using tmap,
mapview, or leaflet package and save it as a HTML file
#Color palettes for COVID data and elderly population
pal_fun <- colorQuantile("YlOrRd", NULL, n = 5)
pal_elderly <- colorQuantile("YlGnBu",
domain = c(min(acsCovidDat$eldrlyP, na.rm = TRUE), max(acsCovidDat$eldrlyP, na.rm = TRUE)),
alpha = TRUE)
#Popup with information about each ZIP code
covid_popup <- paste0("<strong>Zip Code: </strong>",
acsCovidDat$ZIPCODE,
" <br/>",
"<strong> Place Name: </strong>",
acsCovidDat$PO_NAME,
" <br/>",
"<strong> Confirmed COVID-19 Cases: </strong>",
acsCovidDat$Positiv,
sep="")
#Highlight options when hovered over them
polyHighlightOption <- leaflet::highlightOptions(opacity = 1.0, fillColor = 'black')
polyLabelOption <- leaflet::labelOptions(opacity = 1.0, textsize = '11px')
#Create the interactive map
htmlMap <- leaflet(acsCovidDat %>% sf::st_transform(4326)) %>%
addPolygons(
stroke = TRUE,
fillOpacity = 0.8,
fillColor = ~pal_elderly(eldrlyP),
color = 'grey',
weight = 1,
highlightOptions = polyHighlightOption,
label = paste(acsCovidDat$eldrlyP),
group = "Elderly Population") %>%
addPolygons(
stroke = FALSE,
fillColor = ~pal_fun(Positiv),
fillOpacity = 0.8,
smoothFactor = 0.5,
popup = covid_popup,
group = "NYC-COVID",
label = paste0(acsCovidDat$Positiv, " at ", acsCovidDat$PO_NAME, ", ", acsCovidDat$ZIPCODE),
highlightOptions = polyHighlightOption,
labelOptions = polyLabelOption) %>%
addTiles(group = "OSM") %>%
addProviderTiles("CartoDB.DarkMatter", group = "Carto") %>%
addLayersControl(baseGroups = c("OSM", "Carto"),
overlayGroups = c("NYC-COVID", "Elderly Population"))
#View the map
htmlMap
#Save the map as an HTML file
htmlwidgets::saveWidget(htmlMap, "NYC_COVID_Map.html")