getwd()
## [1] "C:/Users/Nathaniel/DATA110"
library(tidyverse)
library(tidyr)
library(knitr)
library(leaflet)
library(sf)
setwd("C:/Users/Nathaniel/DATA110")
cities500 <- read_csv("500CitiesLocalHealthIndicators.cdc.csv")
Split GeoLocation (lat, long) into two columns: lat and long
latlong <- cities500|>
mutate(GeoLocation = str_replace_all(GeoLocation, "[()]", ""))|>
separate(GeoLocation, into = c("lat", "long"), sep = ",", convert = TRUE)
head(latlong)
## # A tibble: 6 × 25
## Year StateAbbr StateDesc CityName GeographicLevel DataSource Category
## <dbl> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 2017 CA California Hawthorne Census Tract BRFSS Health Outcom…
## 2 2017 CA California Hawthorne City BRFSS Unhealthy Beh…
## 3 2017 CA California Hayward City BRFSS Health Outcom…
## 4 2017 CA California Hayward City BRFSS Unhealthy Beh…
## 5 2017 CA California Hemet City BRFSS Prevention
## 6 2017 CA California Indio Census Tract BRFSS Health Outcom…
## # ℹ 18 more variables: UniqueID <chr>, Measure <chr>, Data_Value_Unit <chr>,
## # DataValueTypeID <chr>, Data_Value_Type <chr>, Data_Value <dbl>,
## # Low_Confidence_Limit <dbl>, High_Confidence_Limit <dbl>,
## # Data_Value_Footnote_Symbol <chr>, Data_Value_Footnote <chr>,
## # PopulationCount <dbl>, lat <dbl>, long <dbl>, CategoryID <chr>,
## # MeasureId <chr>, CityFIPS <dbl>, TractFIPS <dbl>, Short_Question_Text <chr>
Remove the StateDesc that includes the United Sates, select Prevention as the category (of interest), filter for only measuring crude prevalence and select only 2017.
latlong_clean <- latlong |>
filter(StateDesc != "United States") |>
filter(Category == "Prevention") |>
filter(Data_Value_Type == "Crude prevalence") |>
filter(Year == 2017)
head(latlong_clean)
## # A tibble: 6 × 25
## Year StateAbbr StateDesc CityName GeographicLevel DataSource Category
## <dbl> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 2017 AL Alabama Montgomery City BRFSS Prevention
## 2 2017 CA California Concord City BRFSS Prevention
## 3 2017 CA California Concord City BRFSS Prevention
## 4 2017 CA California Fontana City BRFSS Prevention
## 5 2017 CA California Richmond Census Tract BRFSS Prevention
## 6 2017 FL Florida Davie Census Tract BRFSS Prevention
## # ℹ 18 more variables: UniqueID <chr>, Measure <chr>, Data_Value_Unit <chr>,
## # DataValueTypeID <chr>, Data_Value_Type <chr>, Data_Value <dbl>,
## # Low_Confidence_Limit <dbl>, High_Confidence_Limit <dbl>,
## # Data_Value_Footnote_Symbol <chr>, Data_Value_Footnote <chr>,
## # PopulationCount <dbl>, lat <dbl>, long <dbl>, CategoryID <chr>,
## # MeasureId <chr>, CityFIPS <dbl>, TractFIPS <dbl>, Short_Question_Text <chr>
names(latlong_clean)
## [1] "Year" "StateAbbr"
## [3] "StateDesc" "CityName"
## [5] "GeographicLevel" "DataSource"
## [7] "Category" "UniqueID"
## [9] "Measure" "Data_Value_Unit"
## [11] "DataValueTypeID" "Data_Value_Type"
## [13] "Data_Value" "Low_Confidence_Limit"
## [15] "High_Confidence_Limit" "Data_Value_Footnote_Symbol"
## [17] "Data_Value_Footnote" "PopulationCount"
## [19] "lat" "long"
## [21] "CategoryID" "MeasureId"
## [23] "CityFIPS" "TractFIPS"
## [25] "Short_Question_Text"
prevention <- latlong_clean |>
select(-DataSource,-Data_Value_Unit, -DataValueTypeID, -Low_Confidence_Limit, -High_Confidence_Limit, -Data_Value_Footnote_Symbol, -Data_Value_Footnote)
head(prevention)
## # A tibble: 6 × 18
## Year StateAbbr StateDesc CityName GeographicLevel Category UniqueID Measure
## <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 2017 AL Alabama Montgome… City Prevent… 151000 Choles…
## 2 2017 CA California Concord City Prevent… 616000 Visits…
## 3 2017 CA California Concord City Prevent… 616000 Choles…
## 4 2017 CA California Fontana City Prevent… 624680 Visits…
## 5 2017 CA California Richmond Census Tract Prevent… 0660620… Choles…
## 6 2017 FL Florida Davie Census Tract Prevent… 1216475… Choles…
## # ℹ 10 more variables: Data_Value_Type <chr>, Data_Value <dbl>,
## # PopulationCount <dbl>, lat <dbl>, long <dbl>, CategoryID <chr>,
## # MeasureId <chr>, CityFIPS <dbl>, TractFIPS <dbl>, Short_Question_Text <chr>
md <- prevention |>
filter(StateAbbr=="MD")
head(md)
## # A tibble: 6 × 18
## Year StateAbbr StateDesc CityName GeographicLevel Category UniqueID Measure
## <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 2017 MD Maryland Baltimore Census Tract Preventi… 2404000… "Chole…
## 2 2017 MD Maryland Baltimore Census Tract Preventi… 2404000… "Visit…
## 3 2017 MD Maryland Baltimore Census Tract Preventi… 2404000… "Visit…
## 4 2017 MD Maryland Baltimore Census Tract Preventi… 2404000… "Curre…
## 5 2017 MD Maryland Baltimore Census Tract Preventi… 2404000… "Curre…
## 6 2017 MD Maryland Baltimore Census Tract Preventi… 2404000… "Visit…
## # ℹ 10 more variables: Data_Value_Type <chr>, Data_Value <dbl>,
## # PopulationCount <dbl>, lat <dbl>, long <dbl>, CategoryID <chr>,
## # MeasureId <chr>, CityFIPS <dbl>, TractFIPS <dbl>, Short_Question_Text <chr>
The new dataset “Prevention” is a manageable dataset now.
Filter chunk here
unique(latlong_clean$StateAbbr)
## [1] "AL" "CA" "FL" "CT" "IL" "MN" "NY" "PA" "NC" "OH" "OK" "OR" "TX" "RI" "SC"
## [16] "SD" "TN" "UT" "VA" "WA" "AK" "WI" "AZ" "AR" "CO" "DE" "NV" "DC" "GA" "ID"
## [31] "HI" "MA" "MI" "IN" "KS" "KY" "IA" "LA" "MD" "ME" "NH" "NJ" "NM" "MO" "MS"
## [46] "NE" "MT" "ND" "WV" "VT" "WY"
filter(prevention, Data_Value > 70) |>
filter(StateAbbr == "MD")
## # A tibble: 521 × 18
## Year StateAbbr StateDesc CityName GeographicLevel Category UniqueID Measure
## <dbl> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 2017 MD Maryland Baltimore Census Tract Prevent… 2404000… Choles…
## 2 2017 MD Maryland Baltimore Census Tract Prevent… 2404000… Visits…
## 3 2017 MD Maryland Baltimore Census Tract Prevent… 2404000… Visits…
## 4 2017 MD Maryland Baltimore Census Tract Prevent… 2404000… Taking…
## 5 2017 MD Maryland Baltimore Census Tract Prevent… 2404000… Choles…
## 6 2017 MD Maryland Baltimore Census Tract Prevent… 2404000… Taking…
## 7 2017 MD Maryland Baltimore Census Tract Prevent… 2404000… Visits…
## 8 2017 MD Maryland Baltimore Census Tract Prevent… 2404000… Choles…
## 9 2017 MD Maryland Baltimore Census Tract Prevent… 2404000… Taking…
## 10 2017 MD Maryland Baltimore Census Tract Prevent… 2404000… Taking…
## # ℹ 511 more rows
## # ℹ 10 more variables: Data_Value_Type <chr>, Data_Value <dbl>,
## # PopulationCount <dbl>, lat <dbl>, long <dbl>, CategoryID <chr>,
## # MeasureId <chr>, CityFIPS <dbl>, TractFIPS <dbl>, Short_Question_Text <chr>
First plot chunk here
ggplot(prevention, aes(x = PopulationCount, y = Data_Value, color = StateDesc)) +
geom_point() +
scale_color_viridis_d() +
geom_jitter() +
labs(title = "Data Value and Population for Each State",
xlabs = "Population",
ylabs = "Data Value") +
theme_bw()
## Warning: Removed 3144 rows containing missing values (`geom_point()`).
## Removed 3144 rows containing missing values (`geom_point()`).
First map chunk here
strong <- prevention |>
filter(Data_Value > 50)
leaflet() |>
setView(lng = -76.6, lat = 39.0, zoom = 6) |>
addProviderTiles("Esri.WorldStreetMap") |>
addCircles(
data = strong,
radius = strong$Data_Value
)
## Assuming "long" and "lat" are longitude and latitude, respectively
Refined map chunk here
pop <- paste0(
"<b>Population: </b>", strong$PopulationCount, "<br>",
"<b>DataValue: </b>", strong$Data_Value, "<br>",
"<b>State: </b>", strong$StateDesc, "<br>"
)
leaflet() |>
setView(lng = -76.6, lat = 39.0, zoom = 6) |>
addProviderTiles("Esri.WorldStreetMap") |>
addCircles(
data = strong,
radius = strong$Data_Value,
color = "#14010d",
fillColor = "#f2079c",
popup = pop
)
## Assuming "long" and "lat" are longitude and latitude, respectively