[R] Coloring counties on a full US map based on a certain criterion

Sarah Goslee sarah.goslee at gmail.com
Fri Jan 13 18:05:06 CET 2012


Hi,

You've just about got it. See below.

On Fri, Jan 13, 2012 at 11:52 AM, Dimitri Liakhovitski
<dimitri.liakhovitski at gmail.com> wrote:
> Dear Rers,
>
> is there a way to color counties on a full US map based on a criterion
> one establishes (i.e., all counties I assign the same number should be
> the same color)?
> I explored a bit and looks like the package "maps" might be of help.
> library(maps)
> One could get a map of the US: map('usa')
> One could get countries within a US state: map('county', 'iowa', fill
> = TRUE, col = palette())

Using a random sampling to give you the basic idea.
There are 99 counties in Iowa, so to construct the criterion:
countycol <- sample(1:5, 99, replace=TRUE)
And to invent a set of colors (RColorBrewer is a better choice for
final maps):
classcolors <- rainbow(5)

then you can use them in your map just as you would for any other
plotting command:

map('county', 'iowa', fill= TRUE, col = classcolors[countycol])

> Would it be possible to read in a file with counties and their
> assignments (some counties have a 1, some counties have a 2, etc.) and
> then have one map of the US with counties colored based on their
> assignment?

Absolutely. The only thing you have to watch out for is that you put your
values in the same order as:
map('county', 'iowa', plot=FALSE)$names

Sarah

-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list