How can I keep polygons's information after shapefile? Let me try to explain:
I have a shapefile with this data:
> head(mapa@data)
ID CD_GEOCODI TIPO CD_GEOCODB NM_BAIRRO CD_GEOCODS NM_SUBDIST CD_GEOCODD NM_DISTRIT CD_GEOCODM NM_MUNICIP NM_MICRO NM_MESO
12228 33679 431490205000133 URBANO 431490205003 Cidade Baixa 43149020500 <NA> 431490205 PORTO ALEGRE 4314902 PORTO ALEGRE PORTO ALEGRE METROPOLITANA DE PORTO ALEGRE
12229 33680 431490205000134 URBANO 431490205003 Cidade Baixa 43149020500 <NA> 431490205 PORTO ALEGRE 4314902 PORTO ALEGRE PORTO ALEGRE METROPOLITANA DE PORTO ALEGRE
12230 33681 431490205000135 URBANO 431490205003 Cidade Baixa 43149020500 <NA> 431490205 PORTO ALEGRE 4314902 PORTO ALEGRE PORTO ALEGRE METROPOLITANA DE PORTO ALEGRE
12231 33682 431490205000136 URBANO 431490205003 Cidade Baixa 43149020500 <NA> 431490205 PORTO ALEGRE 4314902 PORTO ALEGRE PORTO ALEGRE METROPOLITANA DE PORTO ALEGRE
12232 33683 431490205000137 URBANO 431490205003 Cidade Baixa 43149020500 <NA> 431490205 PORTO ALEGRE 4314902 PORTO ALEGRE PORTO ALEGRE METROPOLITANA DE PORTO ALEGRE
12233 33684 431490205000138 URBANO 431490205003 Cidade Baixa 43149020500 <NA> 431490205 PORTO ALEGRE 4314902 PORTO ALEGRE PORTO ALEGRE METROPOLITANA DE PORTO ALEGRE
and this data:
> head(data)
CD_GEOCODI Population
1 431490205000133 1272
2 431490205000134 822
3 431490205000135 1085
4 431490205000136 1454
5 431490205000137 964
6 431490205000138 834
I could just merge data
and mapa@data
and plot it with plot()
, but I want use ggplot2. But fortify()
's output donsn't have any of originals variables. For example:
> head(fortify(mapa))
Regions defined for each Polygons
long lat order hole piece group id
1 -51.22254 -30.03526 1 FALSE 1 12228.1 12228
2 -51.22332 -30.03648 2 FALSE 1 12228.1 12228
3 -51.22365 -30.03702 3 FALSE 1 12228.1 12228
4 -51.22482 -30.03610 4 FALSE 1 12228.1 12228
5 -51.22488 -30.03606 5 FALSE 1 12228.1 12228
6 -51.22476 -30.03591 6 FALSE 1 12228.1 12228
Both (fortify and mapa@data) have an id variable, but aren't the same values. So, again, my question is: How can I pass mapa@data
's information to fortify()
's output (or another function that allows use ggplot2)