Trabajo elaborado para la asignatura “Programación y manejo de datos en la era del Big Data” de la Universitat de València durante el curso 2021-2022. El repo del trabajo está aquí.

La página web de la asignatura y los trabajos de mis compañeros pueden verse aquí.



1 Introducción

Este trabajo pretende servir como ejercicio de aplicación de los conocimientos adquiridos en la asignatura ya mencionada. Para ello, me haré servir del dataset elaborado para (Nagy 2021) y replicaré algunos de los cálculos del apartado 2.2. También aprovecharé los datos para acompañar las conclusiones con nuevas gráficas.


2 Contexto

El Danubio es el segundo río más largo de Europa, continente que atraviesa inspirando a su paso a generaciones de artistas y pensadores. Si puedo recomendar una banda sonora para acompañar este trabajo, no puede ser otra que la composición austriaca más célebre de todos los tiempos:

Aunque en este trabajo nos centraremos en el tercio del Danubio que tradicionalmente discurrió por tierras húngaras. Para ser exactos, vamos a analizar el impacto que tuvo la construcción de los tres primeros puentes que se construyeron al norte de Budapest en la década de 1890. Tal y como bien explica el paper original (Nagy 2021), antes de esta fecha el único puente húngaro sobre el Danubio era el construido en Budapest en 1849.

Antiguo Puente Elisabetino en Budapest, 1903

Antes de 1890, no se contruyó ningún puente al norte de Budapest debido a que la presencia de bloques de hielo hacía la tarea técnicamente inviable. Sin embargo, una vez los ingenieros idearon la manera de salvar este obstáculo, se construyeron tres puentes en un breve periodo de cuatro años en las ciudades de Pozsony, Komárom y Esztergom, cuyo impacto sobre la demografía de las ciudades próximas veremos a lo largo del trabajo.


3 Los datos

Contamos con información sobre la población de aquellos municipios húngaros de más de 2000 habitantes en los censos de 1870, 1880, 1890, 1900 y 1910, y en 1920 para aquellas poblaciones que permanecieron en Hungría después de que se redefinieran sus fronteras a raíz de la Primera Guerra Mundial. También disponemos de la localización de los puentes, contruidos más tarde de 1890 pero antes de 1900. Si representamos en un mapa las poblaciones y los puentes, podemos observar algo así:


3.1 Distancia de cada municipio a cada puente

Para poder utilizar de aquí en adelante este dato, calculamos la distancia de cada municipio a cada puente. La siguiente tabla presenta los resultados en metros:


3.2 Municipios más cercanos a los puentes

Haremos como el autor del trabajo original y seleccionaremos para el estudio aquellos municipios a menos de 20km de algún puente. Son estos:

Vemos una discrepancia con el paper original. Tenemos menos municipios en la muestra ya que Tárkány ha sido eliminado en nuestro caso: según nuestros cálculos, está a unos 35m más allá del perímetro de 20km establecido para el estudio. Calcular distancias sobre la superficie terrestre es un proceso con detalles que merecen atención, y diferencias como esta se podrían explicar si el autor ha usado técnicas o proyecciones algo distintas. Para este trabajo, seguiremos considerando Tárkány.

Si representamos sobre el mapa los municipios que utilizaremos, vemos algo así:


3.3 Crecimiento de la población

También será necesario obtener las cifras de crecimiento relativo de la población en cada municipio. Tras los cálculos pertinentes, vienen recogidas por la siguiente tabla, para los periodos relevantes 1870-1890 y 1890-1910, así como 1870-1910:


4 Los municipios más cercanos a los puentes crecen más

Con estos datos podemos empezar a buscar respuestas a las preguntas más evidentes. ¿Crecen más los municipios más cercanos a los puentes? Veamos este scatterplot:

No resulta muy claro para ninguno de los puentes que exista una correlación fuerte.


5 Recreación de la Figura 1

El paper original sostiene que las poblaciones más cercanas a los puentes aceleraron su crecimiento demográfico, y emplea una figura como la siguiente para presentar la evidencia estadística:

Se extrae una conlcusión idéntica a la del paper original.


6 Distancia a Budapest como factor explicativo

El paper se cuestiona si la distancia a Budapest puede explicar el crecimiento poblacional para incluir esta variable como control. Veámoslo en un scatterplot:

No existe nigún patrón apreciable a simple vista.


7 La anomalía de Komárom

El paper apunta que, debido a que el censo de 1900 comezó a incluir a los militares como población del municipio, se produjo un salto en la población de Komárom. ¿Se aprecia en estos datos?

Efectivamente, el salto es bastante apreciable.


8 Conclusión

Este trabajo, a pesar de su presentación sencilla de los datos, ha conllevado una gran dedicación para manejar los datos geoespaciales, representarlos y calcular distancias. El paper original ha servido como un buen pretexto. Se obtienen en esencia las mismas conclusiones, aunque las discrepacias en las distancias son un recordatorio de los detalles que deben ser tenidos en cuenta para operar con datos geoespaciales.


9 Bibliografía

Nagy, Dávid Krisztián. 2021. “Quantitative Economic Geography Meets History: Questions, Answers and Challenges.” Regional Science and Urban Economics, 103675.




Información de mi R-sesión:

─ Session info ───────────────────────────────────────────────────────────────
 setting  value                       
 version  R version 4.1.1 (2021-08-10)
 os       macOS Big Sur 10.16         
 system   x86_64, darwin17.0          
 ui       X11                         
 language (EN)                        
 collate  es_ES.UTF-8                 
 ctype    es_ES.UTF-8                 
 tz       Europe/Madrid               
 date     2022-01-09                  

─ Packages ───────────────────────────────────────────────────────────────────
 package           * version    date       lib source                        
 abind               1.4-5      2016-07-21 [1] CRAN (R 4.1.0)                
 assertthat          0.2.1      2019-03-21 [1] CRAN (R 4.1.0)                
 backports           1.2.1      2020-12-09 [1] CRAN (R 4.1.0)                
 base64enc           0.1-3      2015-07-28 [1] CRAN (R 4.1.0)                
 bitops              1.0-7      2021-04-24 [1] CRAN (R 4.1.0)                
 broom               0.7.9      2021-07-27 [1] CRAN (R 4.1.0)                
 bslib               0.3.0      2021-09-02 [1] CRAN (R 4.1.0)                
 cellranger          1.1.0      2016-07-27 [1] CRAN (R 4.1.0)                
 class               7.3-19     2021-05-03 [1] CRAN (R 4.1.1)                
 classInt            0.4-3      2020-04-07 [1] CRAN (R 4.1.0)                
 cli                 3.1.0      2021-10-27 [1] CRAN (R 4.1.0)                
 clipr               0.7.1      2020-10-08 [1] CRAN (R 4.1.0)                
 codetools           0.2-18     2020-11-04 [1] CRAN (R 4.1.1)                
 colorspace          2.0-2      2021-06-24 [1] CRAN (R 4.1.0)                
 crayon              1.4.2      2021-10-29 [1] CRAN (R 4.1.0)                
 crosstalk           1.1.1      2021-01-12 [1] CRAN (R 4.1.0)                
 curl                4.3.2      2021-06-23 [1] CRAN (R 4.1.0)                
 data.table          1.14.0     2021-02-21 [1] CRAN (R 4.1.0)                
 DBI                 1.1.1      2021-01-15 [1] CRAN (R 4.1.0)                
 dbplyr              2.1.1      2021-04-06 [1] CRAN (R 4.1.0)                
 desc                1.3.0      2021-03-05 [1] CRAN (R 4.1.0)                
 details             0.2.1      2020-01-12 [1] CRAN (R 4.1.0)                
 dichromat           2.0-0      2013-01-24 [1] CRAN (R 4.1.0)                
 digest              0.6.28     2021-09-23 [1] CRAN (R 4.1.0)                
 dplyr             * 1.0.7      2021-06-18 [1] CRAN (R 4.1.0)                
 DT                * 0.19       2021-09-02 [1] CRAN (R 4.1.0)                
 e1071               1.7-9      2021-09-16 [1] CRAN (R 4.1.0)                
 ellipsis            0.3.2      2021-04-29 [1] CRAN (R 4.1.0)                
 evaluate            0.14       2019-05-28 [1] CRAN (R 4.1.0)                
 fansi               0.5.0      2021-05-25 [1] CRAN (R 4.1.0)                
 farver              2.1.0      2021-02-28 [1] CRAN (R 4.1.0)                
 fastmap             1.1.0      2021-01-25 [1] CRAN (R 4.1.0)                
 forcats           * 0.5.1      2021-01-27 [1] CRAN (R 4.1.0)                
 foreign             0.8-81     2020-12-22 [1] CRAN (R 4.1.1)                
 fs                  1.5.0      2020-07-31 [1] CRAN (R 4.1.0)                
 generics            0.1.1      2021-10-25 [1] CRAN (R 4.1.0)                
 geosphere         * 1.5-14     2021-10-13 [1] CRAN (R 4.1.0)                
 gghighlight         0.3.2      2021-06-05 [1] CRAN (R 4.1.0)                
 ggmap             * 3.0.0      2019-02-05 [1] CRAN (R 4.1.0)                
 ggplot2           * 3.3.5      2021-06-25 [1] CRAN (R 4.1.0)                
 glue                1.5.0      2021-11-07 [1] CRAN (R 4.1.0)                
 gtable              0.3.0      2019-03-25 [1] CRAN (R 4.1.0)                
 haven               2.4.3      2021-08-04 [1] CRAN (R 4.1.0)                
 highr               0.9        2021-04-16 [1] CRAN (R 4.1.0)                
 hms                 1.1.0      2021-05-17 [1] CRAN (R 4.1.0)                
 htmltools         * 0.5.2      2021-08-25 [1] CRAN (R 4.1.0)                
 htmlwidgets         1.5.4      2021-09-08 [1] CRAN (R 4.1.0)                
 httr                1.4.2      2020-07-20 [1] CRAN (R 4.1.0)                
 Imap              * 1.32       2012-10-29 [1] CRAN (R 4.1.0)                
 jpeg                0.1-9      2021-07-24 [1] CRAN (R 4.1.0)                
 jquerylib           0.1.4      2021-04-26 [1] CRAN (R 4.1.0)                
 jsonlite            1.7.2      2020-12-09 [1] CRAN (R 4.1.0)                
 KernSmooth          2.23-20    2021-05-03 [1] CRAN (R 4.1.1)                
 klippy            * 0.0.0.9500 2021-11-19 [1] Github (rlesur/klippy@378c247)
 knitr             * 1.36       2021-09-29 [1] CRAN (R 4.1.0)                
 labeling            0.4.2      2020-10-20 [1] CRAN (R 4.1.0)                
 lattice             0.20-44    2021-05-02 [1] CRAN (R 4.1.1)                
 lazyeval            0.2.2      2019-03-15 [1] CRAN (R 4.1.0)                
 leafem              0.1.6      2021-05-24 [1] CRAN (R 4.1.0)                
 leaflet           * 2.0.4.1    2021-01-07 [1] CRAN (R 4.1.0)                
 leaflet.providers   1.9.0      2019-11-09 [1] CRAN (R 4.1.0)                
 leafsync            0.1.0      2019-03-05 [1] CRAN (R 4.1.0)                
 lifecycle           1.0.1      2021-09-24 [1] CRAN (R 4.1.0)                
 lubridate           1.7.10     2021-02-26 [1] CRAN (R 4.1.0)                
 lwgeom              0.2-7      2021-07-28 [1] CRAN (R 4.1.0)                
 magrittr            2.0.1      2020-11-17 [1] CRAN (R 4.1.0)                
 Matrix              1.3-4      2021-06-01 [1] CRAN (R 4.1.1)                
 mgcv                1.8-36     2021-06-01 [1] CRAN (R 4.1.1)                
 modelr              0.1.8      2020-05-19 [1] CRAN (R 4.1.0)                
 munsell             0.5.0      2018-06-12 [1] CRAN (R 4.1.0)                
 nlme                3.1-152    2021-02-04 [1] CRAN (R 4.1.1)                
 openxlsx            4.2.4      2021-06-16 [1] CRAN (R 4.1.0)                
 pillar              1.6.4      2021-10-18 [1] CRAN (R 4.1.0)                
 pkgconfig           2.0.3      2019-09-22 [1] CRAN (R 4.1.0)                
 plotly            * 4.9.4.1    2021-06-18 [1] CRAN (R 4.1.0)                
 plyr                1.8.6      2020-03-03 [1] CRAN (R 4.1.0)                
 png                 0.1-7      2013-12-03 [1] CRAN (R 4.1.0)                
 prettydoc           0.4.1      2021-01-10 [1] CRAN (R 4.1.0)                
 proxy               0.4-26     2021-06-07 [1] CRAN (R 4.1.0)                
 purrr             * 0.3.4      2020-04-17 [1] CRAN (R 4.1.0)                
 R6                  2.5.1      2021-08-19 [1] CRAN (R 4.1.0)                
 raster              3.4-13     2021-06-18 [1] CRAN (R 4.1.0)                
 RColorBrewer        1.1-2      2014-12-07 [1] CRAN (R 4.1.0)                
 Rcpp                1.0.7      2021-07-07 [1] CRAN (R 4.1.0)                
 readr             * 2.0.1      2021-08-10 [1] CRAN (R 4.1.0)                
 readxl              1.3.1      2019-03-13 [1] CRAN (R 4.1.0)                
 reprex              2.0.1      2021-08-05 [1] CRAN (R 4.1.0)                
 RgoogleMaps         1.4.5.3    2020-02-12 [1] CRAN (R 4.1.0)                
 rio               * 0.5.27     2021-06-21 [1] CRAN (R 4.1.0)                
 rjson               0.2.20     2018-06-08 [1] CRAN (R 4.1.0)                
 rlang               0.4.12     2021-10-18 [1] CRAN (R 4.1.0)                
 rmarkdown           2.11       2021-09-14 [1] CRAN (R 4.1.0)                
 rprojroot           2.0.2      2020-11-15 [1] CRAN (R 4.1.0)                
 rstudioapi          0.13       2020-11-12 [1] CRAN (R 4.1.0)                
 rvest               1.0.1      2021-07-26 [1] CRAN (R 4.1.0)                
 sass                0.4.0      2021-05-12 [1] CRAN (R 4.1.0)                
 scales              1.1.1      2020-05-11 [1] CRAN (R 4.1.0)                
 sessioninfo         1.1.1      2018-11-05 [1] CRAN (R 4.1.0)                
 sf                * 1.0-3      2021-10-07 [1] CRAN (R 4.1.0)                
 sp                  1.4-5      2021-01-10 [1] CRAN (R 4.1.0)                
 stars               0.5-3      2021-06-08 [1] CRAN (R 4.1.0)                
 stringi             1.7.5      2021-10-04 [1] CRAN (R 4.1.0)                
 stringr           * 1.4.0      2019-02-10 [1] CRAN (R 4.1.0)                
 tibble            * 3.1.6      2021-11-07 [1] CRAN (R 4.1.1)                
 tidyr             * 1.1.4      2021-09-27 [1] CRAN (R 4.1.0)                
 tidyselect          1.1.1      2021-04-30 [1] CRAN (R 4.1.0)                
 tidyverse         * 1.3.1      2021-04-15 [1] CRAN (R 4.1.0)                
 tmap              * 3.3-2      2021-06-16 [1] CRAN (R 4.1.0)                
 tmaptools           3.1-1      2021-01-19 [1] CRAN (R 4.1.0)                
 tzdb                0.1.2      2021-07-20 [1] CRAN (R 4.1.0)                
 units               0.7-2      2021-06-08 [1] CRAN (R 4.1.0)                
 utf8                1.2.2      2021-07-24 [1] CRAN (R 4.1.0)                
 vctrs               0.3.8      2021-04-29 [1] CRAN (R 4.1.0)                
 vembedr           * 0.1.5      2021-12-11 [1] CRAN (R 4.1.0)                
 viridisLite         0.4.0      2021-04-13 [1] CRAN (R 4.1.0)                
 withr               2.4.2      2021-04-18 [1] CRAN (R 4.1.0)                
 xfun                0.28       2021-11-04 [1] CRAN (R 4.1.0)                
 XML                 3.99-0.7   2021-08-17 [1] CRAN (R 4.1.0)                
 xml2                1.3.2      2020-04-23 [1] CRAN (R 4.1.0)                
 yaml                2.2.1      2020-02-01 [1] CRAN (R 4.1.0)                
 zip                 2.2.0      2021-05-31 [1] CRAN (R 4.1.0)                

[1] /Library/Frameworks/R.framework/Versions/4.1/Resources/library