Join county or state level data to US map data
Arguments
- data
The data that should be joined to a US map. This parameter should be a data frame consisting of two columns, a fips code (2 characters for state, 5 characters for county) and the value that should be associated with that region. The columns of
data
must befips
orstate
and the value of thevalues
parameter. If bothfips
andstate
are provided, this function uses thefips
.- values
The name of the column that contains the values to be associated with a given region. The default is
"values"
.- include
The regions to include in the resulting map. If
regions
is"states"
/"state"
, the value can be either a state name, abbreviation or FIPS code. For counties, the FIPS must be provided as there can be multiple counties with the same name. If states are provided in the county map, only counties in the included states will be returned.- exclude
The regions to exclude in the resulting map. If
regions
is"states"
/"state"
, the value can be either a state name, abbreviation or FIPS code. For counties, the FIPS must be provided as there can be multiple counties with the same name. The regions listed in theinclude
parameter are applied first and theexclude
regions are then removed from the resulting map. Any excluded regions not present in the included regions will be ignored.- na
The value to be inserted for states or counties that don't have a value in
data
. This value must be of the same type as thevalue
column ofdata
.
Value
A data frame composed of the map data frame (from us_map
) except
an extra column containing the values in data
is included.
The result can be plotted using ggplot2
. See us_map
or
plot_usmap
for more details.
Examples
state_data <- data.frame(fips = c("01", "02", "04"), values = c(1, 5, 8))
df <- map_with_data(state_data, na = 0)
state_data <- data.frame(state = c("AK", "CA", "Utah"), values = c(6, 9, 3))
df <- map_with_data(state_data, na = 0)