Dimitri Liakhovitski
2012-Jan-13 16:52 UTC
[R] Coloring counties on a full US map based on a certain criterion
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())
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?
Thanks a lot for any hint!
--
Dimitri Liakhovitski
Sarah Goslee
2012-Jan-13 17:05 UTC
[R] Coloring counties on a full US map based on a certain criterion
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