[R] adjusting the map of France to 1830
Ray Brownrigg
ray at mcs.vuw.ac.nz
Sun Nov 21 23:53:54 CET 2004
> Date: Fri, 19 Nov 2004 15:59:25 -0500
> From: Michael Friendly <friendly at yorku.ca>
>
> Here's what I tried. I can plot a selection of regions, but I
> can't seem to remove an arbitrary list of region numbers, unless I've
> done something wrong
> by selecting the regions I want to plot with departements[-exclude].
I think here the problemis not using exact=T in the call to map(), see
below.
> I also get an error
> when I try to use map.text to label a map with only the regions I'm
> selecting.
>
> > departements <- map('france',namesonly=T, plot=FALSE)
> > # returns a vector of names of regions
> >
> > exclude <- c(47, #Alpes-Maritimes
> + 66, # Haute-Savoie
> + 76, # Savoie
> + 95, # Territore-de-Belfort
> + 109, 110, 111, # Var: Iles d'Hyeres
> + 49, 53, 54, 55, # Moribhan: Isles
> + 62, 64, # Vendee: Isles
> + 72, 75 # Charente-Maritime: Isles
> + )
> >
> > depts <- departements[-exclude]
> > gfrance <-map('france', regions=depts)
> > labels <- (as.character(1:length(departements)))[-exclude]
> > gfrance <-map.text('france', regions=depts, add=FALSE, labels=labels)
> Error in map.text("france", regions = depts, add = FALSE, labels = labels) :
> map object must have polygons (fill=TRUE)
>
That error message is issued when regions= specifies less than the whole
database, in which case the alternate "list of 'x', 'y', and 'names'
obtained from a previous call to 'map'" is required as a first parameter.
So to do what you want (notwithstanding the next problem you raise), try
the following as a demonstration:
gfrance <- map('france', regions=depts, exact=T, fill=T, plot=F)
map.text(gfrance, regions=depts, labels=labels)
map('france', regions=departements[exclude], fill=T, col=1, add=T)
> Another problem, potentially more difficult for mapping data on the map
> of France is that
> the "departements" are actually just the polygons in the map,
> arbitrarily numbered from
> east to west, and from north to south --- they don't correspond to the
> 'official' administrative
> region numbers. As well, the departement names don't always match
> exactly (ignoring
> accents, e.g., Val-d'Oise vs. Val-Doise) so it would be another
> challenge to plot my
> historical data on the map of France.
>
Well, maps is a source package! [:-)].
You are most welcome to modify the source files
maps/src/france.{gon,line,name} to reorder the polygons (and correct
errors in the names). If the relationship between those 3 files is not
obvious, contact me for further details. Also, I am happy to fold your
changes back into the original maps package.
Ray Brownrigg
More information about the R-help
mailing list