¡Estoy de vuelta con más preguntas sobre mapeo en R! Esta se refiere a cómo simbolizar puntos por un cierto atributo con círculos graduados o proporcionales.
DATOS: Puede encontrar todo mi código aquí si estás interesado. Mi archivo CSV de interés está aquí. El shapefile de Etiopía se puede descargar aquí
He graficado puntos del CSV sobre un shapefile. Para ser breve, aquí está la versión muy resumida de mi código:
library(raster)
library(rgdal)
#establecer el directorio de trabajo
#leer el shapefile de Etiopía
eth <- readOGR(dsn = "D:/Mapping-R/Ethiopia", layer = "ETH_adm0")
#leer la ubicación total de las sucursales desde el csv
branches <- read.csv("Branches_Africa.csv", header = TRUE)
#transformar el data frame de las sucursales a un spdf para el mapeo
coordinates(branches) <- ~Lon + Lat
#graficar el shapefile con superposición de puntos
plot(eth)
points(branches$Lon, branches$Lat, col = "blue", pch = 16, cex = .5)
Como puedes ver en el CSV de sucursales, hay varios atributos diferentes. En mi caso, me gustaría simbolizar el atributo "share" con círculos graduados o proporcionales, como se ve aquí:
idealmente, también me gustaría cambiar los colores de cada punto para que coincidan lo más posible con la simbología de QGIS.
Si miras mi código completo, notarás que no he usado ggplot
para el mapeo, por lo que preferiría que la solución no venga de ese paquete (¿o acaso ggplot facilitaría las cosas una vez que haya transformado todos los datos para que se ajusten al paquete?). Intenté usar spplot
según este post con:
spplot(branches, "share", col.regions = brewer.pal(9, "Reds"), cuts = 8, scales = list(draw = T))
pero el código me dio el siguiente error: Error in fill.call.groups(args.xyplot, z = z, edge.col = edge.col, colorkey = colorkey, : number of colors smaller than number of factor levels
También intenté trabajar con mapCircles
del paquete rCarto
, pero tampoco tuve suerte allí.
ENTONCES, ¿cómo puedo cambiar la simbología de branches$share para que se muestren círculos graduados o proporcionales (y preferiblemente de colores diferentes) en lugar de solo un tamaño/color?