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