Index map regions
match.map.RdAssigns an index to each map region, useful for map coloring.
Arguments
- database
character string naming a geographical database, or a map object. See the documentation for
mapfor more details.- regions
a vector of names, or more generally regular expressions to match against the map region names.
- exact
If
TRUE, only exact matches withregionsare considered. Otherwise each element ofregionsis assumed to be a regular expression. Matches are always case-insensitive.- warn
If
TRUE, a warning is printed when an element ofregionsmatches nothing in the map.
Value
Returns an integer vector giving an index to each region in the database.
The index is the index of the string in regions which matches the
region name. Matching is done as in map.
More specifically, all regions r whose name matches
regions[i] will have index i.
Unmatched regions will have index NA.
Overlapping matches cause an error.
This behavior differs from pmatch because a single entry
in regions may match several entries in the map.
References
Richard A. Becker, and Allan R. Wilks, "Maps in S", AT&T Bell Laboratories Statistics Research Report, 1991.
Examples
# filled map showing Republican vote in 1900
# (figure 6 in the reference)
data(state, package = "datasets")
data(votes.repub)
state.to.map <- match.map("state", state.name)
x <- votes.repub[state.to.map, "1900"]
gray.colors <- function(n) gray(rev(0:(n - 1))/n)
color <- gray.colors(100)[floor(x)]
map("state", fill = TRUE, col = color); map("state", add = TRUE)