On Wed, 03 Dec 2008, Avram Aelony wrote: > On Tuesday, December 02, 2008, at 04:40PM, "hadley wickham" <[EMAIL > PROTECTED]> wrote: > >On Tue, Dec 2, 2008 at 6:21 PM, Avram Aelony <[EMAIL PROTECTED]> wrote: > >> A few questions about maps... > >> > >> (1) How can I find a listing of the internal data sets that map() from > >> the maps library contains? For example, "usa", "county", "state", "nz" > >> all work. Are there any others? > > > >help(package = maps) > > Thanks for this. > > >> (2) Is there an easier, more generalized way to produce this > >> (http://www.ai.rug.nl/~hedderik/R/US2004/ ) type of plot than this > >> (http://www.ai.rug.nl/~hedderik/R/US2004/map.r ) ? I have geographic > >> (e.g. country, state, county, zip code) count data in a data frame that > >> I would like to represent on a map, but still need to study how map.r > >> works, especially the map.center function... > > > >Yes, it's about six lines of ggplot2 code. But a lot depends on the > >format of your data, so if you could provide a reproducible example of > >what you're trying to do, that would be very helpful. > > What format is best? I don't really have an example, because I only have a > data frame with geo and count data. > > The map() function gives me the following > > > d <- data.frame(map("county", plot=FALSE)[c("x","y")]) > > head> head(d) > x y > 1 -86.81457 32.34920 #presumably latitudes and longitudes ??? > 2 -86.81457 32.33774 > 3 -86.80311 32.32628 > 4 -86.79737 32.32055 > 5 -86.78019 32.32628 > 6 -86.78019 32.34347 > > and I am not sure how to join this with data from a csv formatted file with > columns for country, state, county, zip code, a, b, c, where a,b,c are > integers. Ideally, I'd like to show a map of the US by county that > represents the sum of all "a" in that county with darker colors for larger > values of x ... Then I'd like to do the same for the UK. If I could do > the same at the zip code level for certain counties, that would be even > better. > > >> (3) The examples at http://had.co.nz/ggplot2/coord_map.html are great. > >> Adding another example that with color codes for counts from a data > >> frame would be very useful too. > > > >qplot(..., colour = count) ? > > Doesn't that assume that county names and associated counts are mapped to > lat/lon ? How does the map() function understand "france" or "county" so > that it can do this internally? I'd like map() to figure out the lat/lon > details. > > > head> head(d) > x y > 1 -86.81457 32.34920 > 2 -86.81457 32.33774 > 3 -86.80311 32.32628 > > > Doesn't each row correspond to a vertex? How to get from vertices to > county names with associated counts? > Don't restrict your output to only x and y then. Have a look at: map("county", plot=FALSE)$names
Here each row corresponds to the polygon (county) represented by the corresponding set of x and y values in d (up to the next NA). > >> (4) Is there a reason why I can produce a map of France but not the UK ? > >> > >>>library(maps) > >>>library(ggplot2) > >>>library(mapproj) > >>>(qplot(x, y, data=(data.frame(map("france", plot=FALSE)[c("x","y")])), > >>> geom="path")) + coord_map() (qplot(x, y, data=(data.frame(map("uk", > >>> plot=FALSE)[c("x","y")])), geom="path")) + coord_map() > >> > >> Error in get(dbname) : variable "ukMapEnv" was not found > >> In addition: Warning message: > >> In data(list = dbname) : data set 'ukMapEnv' not found > > > >map('world', regions="uk") Again: map('world', regions="uk")$names shows you all the islands that are also associated with the UK. The easiest way would be: map('world', regions="UK", xlim=c(-10, 5), ylim=c(48, 60)) then use map.axes() to refine this. HTH Ray Brownrigg MSCS, Victoria University of Wellington > > This produces a very small UK in the upper left quadrant. > > >Hadley > > > >-- > >http://had.co.nz/ > > thanks again in advance > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html and provide commented, minimal, > self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.