Learn R Programming

tmaptools (version 1.0)

calc_densities: Calculate densities

Description

Transpose quantitative variables to densitiy variables, which are often needed for choroplets. For example, the colors of a population density map should correspond population density counts rather than absolute population numbers.

Usage

calc_densities(shp, var, target = "metric", orig = NA, to = NA, total.area = NA, suffix = "", drop = TRUE)

Arguments

shp
a shape object, i.e., a SpatialPolygons(DataFrame), or a sf object that can be coerced as such.
var
name(s) of a qualtity variable name contained in the shp data
target
the target unit, see approx_areas. Density values are calculated in var/target^2.
orig
original units, i.e. by which the coordinates are defined, see approx_areas.
to
multiplier used as follows: orig * to = target. See approx_areas.
total.area
total area size of shp in number of target units (defined by unit), approx_areas.
suffix
character that is appended to the variable names. The resulting names are used as column names of the returned data.frame.
drop
boolean that determines whether an one-column data-frame should be returned as a vector

Value

Vector or data.frame (depending on whether length(var)==1 with density values. This can be appended directly to the shape file with append_data with fixed.order=TRUE.

Examples

Run this code
## Not run: 
# if (require(tmap)) {
#     data(NLD_muni)
# 
#     NLD_muni_pop_per_km2 <- calc_densities(NLD_muni,
#         var = c("pop_men", "pop_women"), suffix = "_km2")
#     NLD_muni <- append_data(NLD_muni, NLD_muni_pop_per_km2, fixed=TRUE)
# 
#     tm_shape(NLD_muni) +
#     	tm_polygons(c("pop_men_km2", "pop_women_km2"),
#             title=expression("Population per " * km^2), style="quantile") +
#     tm_facets(free.scales = FALSE) +
#     tm_layout(panel.show = TRUE, panel.labels=c("Men", "Women"))
# }
# ## End(Not run)

Run the code above in your browser using DataLab