La relación entre R y los Sistemas de Información Geográfica es larga. R se ha utilizado para realizar análisis de datos espaciales desde los primeros días de R.
En esta entrada vamos a conocer qué paquetes de R para GIS son los más populares y utilizados. Atento, porque aunque ya trabajes con R, quizá no conozcas alguno o no estés utilizando el adecuado. Además, te mostramos algunas sugerencias y paquetes alternativos.
Este código toma la lista de los más de 200 paquetes relacionados con GIS que aparecen en la Vista de tareas CRAN: Análisis de datos espaciales.
Para disponer de los paquetes de R para GIS ordenados por número de descargas mensuales, se ha utilizado este código de R, en el que se han eliminado aquellos con cero descargas en el último mes (12 de agosto – 12 de septiembre):
# Instalación y carga de librerías install.packages("rvest") install.packages("dplyr") install.packages("cran_downloads") library(rvest) library(dplyr) # Lectura del HTML de la web de Spatial de CRAN url_de_consulta <- read_html("https://cran.r-project.org/web/views/Spatial.html") # Se aíslan todos los enlaces de la página (aquellos que tienen una etiqueta <a>) enlaces <- html_text(html_nodes(url_de_consulta, xpath = "/html/body/ul/li/a")) # Se crean una data.frame vacío dónde almacenar los paquetes y el nº descargas en el último mes info <- data.frame() # Se recorre cada enlace de los encontrados y se busca en CRAN las descargas de dicho paquete en el último mes. # Aquellos enlaces que no correspondan con un paquete de R devolverán error. Para controlar dicho error # se emplea un tryCatch y no se hace nada cuando se detecte. for (paquete in enlaces) { data <- tryCatch({ cranlogs::cran_downloads(paquete, when = "last-month") %>% group_by(package) %>% summarize(count = sum(count)) %>% arrange(desc(count)) }, warning = function(warn) { ## print(paste("WARNING: ", warn)) }, error = function(err) { ## print(paste("ERROR: ", err)) }, finally = function(f) { ## print(paste("error: ", e)) }) # Almacenamos la información obtenida en el data.frame info <- rbind(info, as.data.frame(data)) } # Se eliminan los duplicados info <- distinct(info) # Se ordena por n_descargas info <- info[order(-info$count),] # Se eliminan aquellas filas que tiene 0 descargas info <- info[info$count != 0,] # Ver contenido obtenido print(info) # Se exporta a CSV el data.frame write.csv(info,"info.csv", row.names = TRUE)
Índice
- 1. ggplot2. Nº de descargas: 2.450.808
- 2. sf: Simple Features for R. Nº de descargas: 1.663.015
- 3. RColorBrewer: Paletas de ColorBrewer. Nº de descargas: 652.852
- 4. sp: Clases y métodos para datos espaciales. Nº de descargas: 373.995
- 5. viridis. Nº de descargas: 301.395
- 6. RPostgreSQL. Nº de descargas: 219.243
- 7. Terra. Análisis de datos espaciales. Nº de descargas: 197.999
- 8. raster. Nº de descargas: 191.360
- 9. deldir. Nº de descargas: 187.042
- 10. interp. Nº de descargas: 183.801
- 11. nlme. Nº de descargas: 151.435
- 12. classInt. Nº de descargas: 132.448
- 13. s2. Nº de descargas: 109.109
- 14. Leaflet. Nº de descargas: 105.382
- 15. wk. Nº de descargas 91.584
- 16. maps. Nº de descargas: 83.540
- 17. rsample. Nº de descargas: 82.319
- 18. mgcv. Nº de descargas: 79.647
- 19. shapefiles. Nº de descargas: 50.454
- 20. lwgeom. Nº de descargas: 49.718
- 21. Stars. Nº de descargas: 49.058
- 22. vegan: Community Ecology Package. Nº de descargas: 46.656
- 23. ade4: Analysis of Ecological Data. Nº de descargas: 38.421
- 24. mapview. Nº de descargas: 38.266
- 25. fields: Herramientas para datos espaciales. Nº de descargas: 37.869
- 26. ggmap: Spatial Visualization with ggplot2. Nº de descargas: 36.063
- 27. tmap. Mapas temáticos. Nº de descargas: 34.627
- 28. Geosphere. Nº de descargas: 32.764
- 29. spdep: Spatial Dependence: Weighting Schemes, Statistics. Nº de descargas: 26.988
- 30. mapproj. Proyecciones de mapas. Nº de descargas: 26.252
- Listado completo
1. ggplot2. Nº de descargas: 2.450.808
ggplot2 ocupa la primera posición y es el más descargado.
Este paquete sirve para crear visualizaciones de datos elegantes utilizando la «gramática de los gráficos».
Un sistema para crear gráficos ‘declarativamente’, basado en «La gramática de los gráficos». Usted proporciona los datos, le dice a ‘ggplot2’ cómo asignar variables a la estética, qué primitivas gráficas usar y se ocupa de los detalles.
2. sf: Simple Features for R. Nº de descargas: 1.663.015
El segundo en el podium (pero el primero propiamente para trabajar con datos espaciales) es el paquete sf. sf es el paquete para manipular datos espaciales más importante, que proporciona acceso a Simple Features para R.
Se une a ‘GDAL’ para leer y escribir datos, a ‘GEOS’ para operaciones geométricas y a ‘PROJ’ para conversiones de proyección y transformaciones de datos.
![paquetes de R para GIS - paquete sf](https://user-images.githubusercontent.com/520851/50280460-e35c1880-044c-11e9-9ed7-cc46754e49db.jpg)
Sugerencia: mapedit proporciona un widget brillante de R basado en Leaflet para editar o crear geometrías sf.
3. RColorBrewer: Paletas de ColorBrewer. Nº de descargas: 652.852
RColorBrewer proporciona esquemas de color tanto para mapas como para gráficos. Este es el motivo por el que es el paquete más descargado de la selección, ya que no es un paquete geográfico propiamente dicho.
Diseñado por Cynthia Brewer como se describe en http://colorbrewer2.org
4. sp: Clases y métodos para datos espaciales. Nº de descargas: 373.995
sp: este longevo paquete nos proporciona clases y métodos para tratar con datos espaciales, por ejemplo crear mapas a partir de datos, realizar selección espacial, así como métodos para recuperar coordenadas, impresión, resumen, etc.
Es un paquete muy extendido y se integra con muchos otros paquetes, incluyendo el paquete raster. Sin embargo, el paquete sf es más fácil de aprender y reemplazará paulatinamente a sp, por lo que se recomienda utilizar el paquete sf.
5. viridis. Nº de descargas: 301.395
viridis también proporciona paletas de colores diseñadas teniendo en cuenta el daltonismo y la impresión en escala de grises.
6. RPostgreSQL. Nº de descargas: 219.243
RPostgreSQL consiste en una interfaz de base de datos y controlador de la base de datos libre más popular ‘PostgreSQL’ para ‘R’. Este paquete proporciona un controlador compatible con la interfaz de base de datos para ‘R’ para acceder a los sistemas de base de datos ‘PostgreSQL’.
Alternativas:
- sf también proporciona una interfaz a PostGIS, tanto para lectura como para escritura, a través de GDAL.
- rpostgis: Proporciona una interfaz entre R y la base de datos ‘PostGIS’ para transferir datos espaciales de forma transparente. Tanto los datos vectoriales como los datos ráster son compatibles con la lectura y escritura.
7. Terra. Análisis de datos espaciales. Nº de descargas: 197.999
Terra proporciona métodos para el análisis de datos espaciales con datos raster y vectoriales. Los métodos ráster permiten la manipulación de datos de bajo nivel, así como el cálculo global, local, zonal y focal de alto nivel. Los métodos de predicción e interpolación facilitan el uso de modelos de tipo regresión (interpolación, aprendizaje automático) para la predicción espacial, incluso con datos de teledetección. Admite el procesamiento de archivos muy grandes. Consulta el manual y los tutoriales aquí para comenzar.
‘terra’ es un reemplazo para el paquete ‘raster’ ya que es más simple, más funcionalidades y más rápido.
8. raster. Nº de descargas: 191.360
El paquete raster permite la lectura, escritura, manipulación, análisis y modelado de datos espaciales raster. El paquete implementa funciones básicas y de alto nivel. Además soporta el procesamiento de archivos muy grandes. También hay soporte para operaciones de datos vectoriales como intersecciones.
Como hemos comentado en el punto anterior su reemplazo es terra, por lo que te aconsejamos utilizar terra.
9. deldir. Nº de descargas: 187.042
El paquete deldir Delaunay Triangulation and Dirichlet (Voronoi) Tessellation sirve para realizar geoestadística. Calcula la triangulación de Delaunay y la teselación de Dirichlet o Voronoi (con respecto a todo el plano) de un conjunto de puntos planos.
10. interp. Nº de descargas: 183.801
interp: métodos de interpolación. La interpolación de datos bivariados en cuadrículas regulares e irregulares, ya sea lineal o usando splines, es la parte principal de este paquete.
11. nlme. Nº de descargas: 151.435
El paquete nlme: Linear and Nonlinear Mixed Effects Models ajusta y compara modelos gaussianos de efectos mixtos lineales y no lineales.
12. classInt. Nº de descargas: 132.448
El paquete classInt proporciona funciones para elegir intervalos de clase para cartografía temática.
13. s2. Nº de descargas: 109.109
s2 es un paquete que ofrece operadores de geometría esférica utilizando la biblioteca de geometría S2.
Proporciona enlaces R para la librería s2 de Google para cálculos geométricos en la esfera terrestre.
14. Leaflet. Nº de descargas: 105.382
El paquete leaflet nos proporcionan métodos para crear mapas web interactivos con la biblioteca JavaScript ‘Leaflet’.
Sugerencia:
- En esta entrada hablamos en profundidad de la integración de Leaflet en R.
15. wk. Nº de descargas 91.584
wk proporciona una API mínima de R y C++ para analizar representaciones binarias y de texto conocido (well know) de geometrías hacia y desde formatos nativos de R. El wkb es compacto y rápido de analizar; el wkt es legible por humanos y es útil para escribir pruebas.
16. maps. Nº de descargas: 83.540
maps es un paquete para visualizar mapas y proporciona acceso (con mapdata y mapproj) a bases de datos geográficas.
17. rsample. Nº de descargas: 82.319
rsample: infraestructura general de remuestreo. Clases y funciones para crear y resumir diferentes tipos de objetos de remuestreo.
18. mgcv. Nº de descargas: 79.647
mgcv es un paquete que sirve para crear, en el ámbito de la física y la probabilidad, un Campo aleatorio de Markov, Red Markov o modelo gráfico no dirigido. Se trata de un conjunto de variables aleatorias que poseen la propiedad de Markov descrito por un grafo no dirigido.
19. shapefiles. Nº de descargas: 50.454
shapefiles lee y escribe shapefiles de ESRI ArcGIS/ArcView
20. lwgeom. Nº de descargas: 49.718
lwgeom se puede usar para facilitar el manejo y el informe de errores de topología y problemas de validez de geometría en objetos sf.
21. Stars. Nº de descargas: 49.058
stars es un paquete que proporciona datos espacio-temporales en forma de matrices densas, siendo el espacio y el tiempo las dimensiones de la matriz. Los datos raster recientes, como las imágenes de satélite, modelos climáticos o los datos de pronóstico del tiempo, que no caben en el almacenamiento local necesitan otro tipo de tratamiento. Utiliza para ello el formato NetCDF.
22. vegan: Community Ecology Package. Nº de descargas: 46.656
vegan es un paquete creado para métodos de ordenación, análisis de diversidad y otras funciones útiles para ecología.
23. ade4: Analysis of Ecological Data. Nº de descargas: 38.421
ade4 son herramientas para el análisis de datos multivariantes, para métodos exploratorios y euclidianos en ciencias ambientales. Se proporcionan varios métodos para el análisis de una tabla (por ejemplo, análisis de componentes principales, análisis de correspondencia), dos tablas (por ejemplo, análisis de coinertia, análisis de redundancia) y tres tablas.
24. mapview. Nº de descargas: 38.266
mapview es un paquete alternativo para crear rápidamente visualizaciones interactivas de datos espaciales con o sin mapas de fondo. Los atributos de los objetos espaciales son completamente consultables a través de ventanas emergentes.
25. fields: Herramientas para datos espaciales. Nº de descargas: 37.869
Para el ajuste de curvas, superficies y funciones con énfasis en splines, datos espaciales, geoestadística y estadísticas espaciales.
26. ggmap: Spatial Visualization with ggplot2. Nº de descargas: 36.063
En ggmap encontramos una colección de funciones para visualizar datos espaciales y modelos sobre mapas estáticos online (por ejemplo, Google Maps, Stamen Maps u OpenStreetMaps). Además incluye funciones de geolocalización y enrutamiento.
Paquetes complementarios:
- ggsn proporciona flechas y escalas del norte para dichos mapas.
- OpenStreetMap nos proporciona acceso a las imágenes raster de OSM y osmar proporciona una infrastructura de acceso a los datos de OpenStreetMap de diferentes fuentes.
27. tmap. Mapas temáticos. Nº de descargas: 34.627
Los mapas temáticos son mapas geográficos en los que se visualizan distribuciones de datos espaciales. El paquete tmap ofrece un enfoque flexible, basado en capas y fácil de usar para crear mapas temáticos, como coropletas y mapas de burbujas.
28. Geosphere. Nº de descargas: 32.764
geosphere permite que se realicen cálculos de distancia y área de nuestros datos espaciales en coordenadas geográficas.
29. spdep: Spatial Dependence: Weighting Schemes, Statistics. Nº de descargas: 26.988
El paquete spdep proporciona una colección de funciones para crear objetos de matriz de pesos espaciales a partir de ‘contigüidades’ de polígonos, a partir de patrones de puntos por distancia y teselaciones, para resumir estos objetos y para permitir su uso en análisis de datos espaciales. Además de una colección de pruebas para ‘autocorrelación’ espacial que incluye ‘Morans I’.
30. mapproj. Proyecciones de mapas. Nº de descargas: 26.252
mapproj convierte la latitud/longitud en coordenadas proyectadas.
Listado completo
Si quieres aprender a trabajar con R para manipular datos espaciales, realizar geoestadística, análisis espacial y otras muchas cosas, inscríbete ya en el curso online de R y SIG.
A continuación los paquetes de R para GIS ordenados por número de descargas (a fecha 12 de septiembre de 2022):
package | Nº de descargas mensuales | |
92 | ggplot2 | 2450808 |
1 | sf | 1663015 |
87 | RColorBrewer | 652852 |
2 | sp | 373995 |
88 | viridis | 301395 |
27 | RPostgreSQL | 219243 |
7 | terra | 197999 |
8 | raster | 191360 |
140 | deldir | 187042 |
141 | interp | 183801 |
174 | nlme | 151435 |
85 | classInt | 132448 |
63 | s2 | 109109 |
100 | leaflet | 105382 |
12 | wk | 91584 |
22 | maps | 83540 |
81 | rsample | 82319 |
158 | mgcv | 79647 |
21 | shapefiles | 50454 |
73 | lwgeom | 49718 |
3 | stars | 47752 |
191 | vegan | 46656 |
185 | ade4 | 38421 |
99 | mapview | 38266 |
124 | fields | 37869 |
103 | ggmap | 36063 |
90 | tmap | 34627 |
70 | geosphere | 32764 |
153 | spdep | 26988 |
24 | mapproj | 26252 |
113 | spatial | 24686 |
102 | RgoogleMaps | 23804 |
11 | ncdf4 | 18179 |
119 | gstat | 17310 |
4 | spacetime | 15909 |
5 | spatstat | 14447 |
190 | pastecs | 14385 |
48 | tigris | 12116 |
23 | mapdata | 11881 |
47 | tidycensus | 10297 |
43 | rnaturalearth | 8776 |
84 | rasterVis | 8702 |
15 | geojsonio | 8419 |
77 | exactextractr | 8315 |
112 | splancs | 8182 |
155 | spatialreg | 7645 |
93 | ggspatial | 7315 |
14 | geojson | 7263 |
122 | automap | 7132 |
52 | osmdata | 6302 |
120 | geoR | 5441 |
68 | rmapshaper | 5260 |
49 | rgbif | 5219 |
18 | RNetCDF | 4856 |
142 | MBA | 4236 |
189 | adehabitatMA | 3893 |
145 | tgp | 3884 |
188 | adehabitatLT | 3433 |
95 | PBSmapping | 3209 |
19 | lidR | 3200 |
54 | OpenStreetMap | 3181 |
139 | sgeostat | 3060 |
69 | gdistance | 2956 |
166 | spaMM | 2836 |
186 | adehabitatHR | 2501 |
16 | wellknown | 2394 |
89 | rcartocolor | 2374 |
177 | splm | 2355 |
106 | cartogram | 2319 |
101 | mapdeck | 2252 |
104 | ggsn | 1914 |
65 | gdalUtilities | 1848 |
154 | rgeoda | 1804 |
44 | cshapes | 1770 |
50 | geonames | 1746 |
182 | spgwr | 1559 |
55 | giscoR | 1481 |
42 | rgee | 1460 |
45 | marmap | 1415 |
75 | areal | 1397 |
184 | GWmodel | 1336 |
10 | geometa | 1324 |
105 | mapedit | 1323 |
26 | rpostgis | 1235 |
127 | spBayes | 1181 |
17 | ows4R | 1178 |
97 | GEOmap | 1174 |
200 | landscapemetrics | 1163 |
164 | sparr | 1150 |
60 | mapSpain | 1140 |
66 | geos | 1137 |
165 | CARBayes | 1100 |
96 | PBSmodelling | 1061 |
25 | gmt | 1055 |
131 | SpatialExtremes | 1043 |
30 | rgrass7 | 1041 |
193 | ncf | 1033 |
31 | RSAGA | 1022 |
67 | libgeos | 1005 |
175 | spmoran | 965 |
37 | link2GI | 950 |
146 | SSN | 924 |
130 | FRK | 921 |
91 | mapsf | 912 |
178 | spsur | 911 |
107 | geogrid | 888 |
6 | inlmisc | 879 |
156 | SpatialEpi | 873 |
38 | geosapi | 858 |
176 | sphet | 804 |
128 | ramps | 780 |
187 | adehabitatHS | 775 |
196 | ModelMap | 762 |
78 | spsurvey | 757 |
53 | osmextract | 752 |
72 | trip | 725 |
167 | PReMiuM | 723 |
118 | dbmss | 717 |
110 | statebins | 714 |
35 | whitebox | 699 |
9 | gdalcubes | 697 |
138 | mlr3spatiotempcv | 696 |
40 | geonapi | 695 |
94 | mapmisc | 691 |
58 | RCzechia | 688 |
117 | ads | 672 |
149 | DCluster | 667 |
123 | intamap | 641 |
173 | NetLogoR | 632 |
80 | spatialsample | 627 |
132 | spTimer | 622 |
172 | synthACS | 612 |
144 | regress | 605 |
74 | landsat | 604 |
197 | SpatialPosition | 603 |
137 | sperrorest | 589 |
179 | spatialprobit | 576 |
157 | smerc | 571 |
108 | micromap | 568 |
79 | Spbsampling | 566 |
59 | rgugik | 562 |
148 | RSurvey | 562 |
109 | recmap | 561 |
116 | ecespa | 560 |
168 | spBayesSurv | 548 |
36 | RPyGeo | 543 |
98 | geomapdata | 538 |
134 | SpatialTools | 538 |
71 | magclass | 528 |
56 | chilemapas | 518 |
115 | smacpod | 514 |
159 | hglm | 512 |
147 | ipdw | 509 |
82 | MBHdesign | 508 |
32 | Rsagacmd | 495 |
114 | spatgraphs | 492 |
133 | rtop | 492 |
20 | rLiDAR | 491 |
125 | LatticeKrig | 483 |
57 | geouy | 480 |
195 | siplab | 470 |
199 | ngspatial | 462 |
126 | autoFRK | 461 |
160 | seg | 460 |
183 | gwrr | 450 |
192 | tripEstimation | 449 |
194 | spind | 444 |
143 | spatialCovariance | 443 |
135 | ExceedanceTools | 442 |
136 | gear | 441 |
163 | lctools | 438 |
28 | postGIStools | 435 |
150 | DClusterm | 421 |
170 | rakeR | 420 |
180 | ProbitSpatial | 409 |
151 | rflexscan | 402 |
129 | geospt | 396 |
121 | vardiag | 391 |
29 | rgrass | 384 |
152 | FlexScan | 381 |
171 | sms | 373 |
76 | qualmap | 363 |
181 | starma | 342 |
198 | Watersheds | 336 |
162 | OasisR | 321 |
169 | spselect | 312 |
64 | gdalUtils | 299 |
13 | wkutils | 290 |
161 | divseg | 284 |
83 | SpotSampling | 266 |
33 | RQGIS | 135 |
![](https://mappinggis.com/wp-content/uploads/2020/09/diana-alonso.jpg)
Tutora del curso de R y SIG. Grado en Ingeniería en tecnologías de la información y en Geomática y topografía. Máster en Ingeniería y geoinformación. Echa un vistazo a todos nuestros cursos de SIG online.