Dentro de este proyecto de creación de mapas en R, vamos a graficar las principales refinerías a nivel nacional. Teniendo estas coordenadas en nuestro mapa analizaremos de una manera económica sus ubicaciones y las distancias entre ellas. Para poner las coordenadas de las principales refinerías a nivel nacional en R, crearemos una matriz usando rbind que muestre el nombre de la refinería y sus respectivas coordenadas.
Cadereyta<-c(-99.9390460046482, 25.58555475)
CdMadero<-c(-97.8089477,22.2704222)
Salamanca<-c(-101.2205932, 20.5832664)
Tula<-c(-99.7959149, 19.8187584 )
refinerias<-rbind(Cadereyta,CdMadero,Salamanca,Tula)
refinerias
## [,1] [,2]
## Cadereyta -99.93905 25.58555
## CdMadero -97.80895 22.27042
## Salamanca -101.22059 20.58327
## Tula -99.79591 19.81876
Una vez que hemos creado nuestra matriz de datos, cambiaremos el nombre de nuestras columnas con la función colnames :
colnames(refinerias)<-c("longitud","latitud")
refinerias
## longitud latitud
## Cadereyta -99.93905 25.58555
## CdMadero -97.80895 22.27042
## Salamanca -101.22059 20.58327
## Tula -99.79591 19.81876
Para hacer gráficas con ggplot y mapas con qmplot se necesita un data frame. Por lo que, vamos a transformar nuestra matriz en un data frame.
refinerias<-data.frame(refinerias)
refinerias
## longitud latitud
## Cadereyta -99.93905 25.58555
## CdMadero -97.80895 22.27042
## Salamanca -101.22059 20.58327
## Tula -99.79591 19.81876
Podemos crear una gráfica de dispersión y usar los nombres como etiquetas si utilizamos la función ggplot junto con geom_text. Si queremos que nuestra gráfica sea interactiva utilizamos la función ggplotly:
dispersion<-ggplot(refinerias)+geom_text(aes(longitud,latitud),label= rownames(refinerias))
ggplotly(dispersion)
También podemos crear una gráfica de dispersión y usar los nombres como etiqueta si utilizamos la funcion ggplot y agregar puntos a nuestra gráfica con la funcion geom_point. Finalmente, si queremos qe nuestra gráfica sea interactiva, utilizamos la función ggplotly.
dispersion<-ggplot(refinerias)+geom_point(aes(longitud,latitud),color=rainbow(4))
ggplotly(dispersion)
Al combinar las gráficas de dispersión anteriores obtenemos una gráfica más llamativa de las ubicaciones de cada refinería en un plano cartesiano.
dispersion<-ggplot(refinerias)+geom_text(aes(longitud,latitud),label=rownames(refinerias))+geom_point(aes(longitud,latitud), color=rainbow(4))
ggplotly(dispersion)
Para crear un mapa, utilizaremos la función qmplot:
ggplotly(qmplot(longitud, latitud, data=refinerias, color=I(rainbow(4))))
Podemos agregar el parámetro geom = c(“point”, “density2d”) para hacer un mapa de puntos y densidad:
ggplotly(qmplot(longitud, latitud, data=refinerias, geom=c("point","density2d")))