[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