library(sf)
## Warning: package 'sf' was built under R version 4.5.3
## Linking to GEOS 3.14.1, GDAL 3.12.1, PROJ 9.7.1; sf_use_s2() is TRUE
library(leaflet)
## Warning: package 'leaflet' was built under R version 4.5.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tigris)
## Warning: package 'tigris' was built under R version 4.5.3
## To enable caching of data, set `options(tigris_use_cache = TRUE)`
## in your R script or .Rprofile.
options(tigris_use_cache = TRUE)
states <- states(cb = TRUE, year = 2023)
set.seed(123)
crime_data <- data.frame(
NAME = states$NAME,
crime_rate = runif(nrow(states), min = 100, max = 800)
)
merged_data <- states %>%
left_join(crime_data, by = "NAME")
pal <- colorNumeric(
palette = "YlOrRd",
domain = merged_data$crime_rate
)
leaflet(data = merged_data) %>%
addTiles() %>%
addPolygons(
fillColor = ~pal(crime_rate),
weight = 1,
color = "white",
fillOpacity = 0.7,
highlightOptions = highlightOptions(
weight = 2,
color = "black",
bringToFront = TRUE
),
label = ~paste(NAME, "<br>Crime Rate:", round(crime_rate, 1))
) %>%
addLegend(
pal = pal,
values = ~crime_rate,
title = "Crime Rate",
position = "bottomright"
)
## Warning: sf layer has inconsistent datum (+proj=longlat +datum=NAD83 +no_defs).
## Need '+proj=longlat +datum=WGS84'