Disputas interestatales

El objetivo de esta actividad es representar los datos de un conflicto en un mapa. Los datos que utilizaremos se encuentran en la página web de Correlates of War (COW), uno de los centros de investigación internacionales especializado en la investigación de conflictos armados. Para realizar la actividad, necesitamos los siguientes elementos:

Estos son los paquetes de R que necesitamos cargar para poder desarrollar correctamente la actividad:

#recordad que los paquetes tienen que estar previamente instalados
library(dplyr)
library(readr)
library(ggplot2)
library(ggmap)

La base de datos

La base de datos Militarized Interstate Disputes (v5.0) (Palmer et al. 2020) contiene información detallada sobre conflictos en que uno o más estados amenazan, muestran o utilizan la fuerza contra uno o más estados, entre 1816 y 2014. Para acceder a la base de datos, tendremos que descargar el archivo MID 5 Data and Supporting Materials.zip y descomprimir el zip. Si aplicáis el código siguiente os situará todos los archivos en el directorio de trabajo.

download.file("https://correlatesofwar.org/data-sets/MIDs/mid-5-data-and-supporting-materials.zip/@@download/file/MID%205%20Data%20and%20Supporting%20Materials.zip", "MID5.zip")
unzip("MID5.zip")

DESCARGA: Si no os funciona el código de descarga, descargad el archivo zip manualmente, localizad el archivo en vuestro directorio de trabajo y cambiad el nombre por MID5.zip y descomprimidlo. Si os pone los archivos descomprimidos en una subcarpeta, tomad todos los archivos de la subcarpeta y colocádlos al directorio de trabajo (para que no os quede ninguna subcarpeta).

De todos los archivos que hemos descomprimido, de momento nos interesamos en los dos archivos .csv donde tenemos los datos por disputa militarizada (MIDA 5.0.csv) y por incidente (MIDI 5.0.csv).

  1. Datos por disputa militarizada: El archivo MIDA 5.0.csv contiene información de disputas militarizadas producidas entre 1816 y 2010. La unidad de análisis es el inicio de la disputa militarizada
  2. Datos por incidente de la disputa militarizada: El archivo MIDI 5.0.csv contiene información de disputas militarizadas producidas entre 1930 y 2010. La unidad de análisis es el incidente de la disputa militarizada.

Datos por disputa militarizada

Los datos por disputa militarizada se encuentran en el archivo MIDA 5.0.csv. A continuación, convertimos el archivo en el objeto de R mida. En la Tabla 1 vemos el resultado de teclear head(mida, 10) en la consola.

mida <- read_csv("MIDA 5.0.csv") #tenéis que tener cargado el paquete readr
head(mida, 10)
Table 1: Base de datos MIDA v5.0
dispnumstdaystmonstyearenddayendmonendyearoutcomesettlefatalityfatalpremaxdurmindurhiacthostlevrecipnumanumbongo2014version
2-971902241190361002081787301105
32519132510191343001771778301105
4155194613111946532-918318316411105
7131019512611952132-910610617411105
8-9718561431857126-925722720511105
9291218891011890610013137301105
111131938123193841002214401105
1211319383091938410020420416411505
13641863178186312-9-913413415403105
141510189531121895430078787301105

Ejercicio 1: Explora el marco de datos con head(mida) y glimpse(mida). Responde las siguientes preguntas, ayudándote también del libro que encontrás dentro del archivo MID 5.0 Codebook.pdf (páginas 2-4) que has descomprimido. Consulta como utilizar un libro de códigos en este enlace1

  • ¿Cuántas observaciones y cuántas variables tiene el marco de datos?¿Cuál es su unidad de análisis?
  • ¿Cuáles son las variables que nos permiten saber el día, mes y año que se originó la disputa?
  • Fíjate que en muchas celdas aparece el valor -9 ¿Sabrías explicar qué significa?
  • ¿Qué diferentes resultados puede tener una disputa según la variable outcome?
  • Busca en el libro de códigos el significado de las variables fatality y hostlev.
  • La variable dispnum se refiere al código que recibe una disputa militarizada. Selecciona una de las primeras disputas que aparecen en el marco de datos y consulta más información al libro disponible en el aula International Conflicts, 1816-2010: Militarized Interstate Dispute Narratives (tendrás que buscar el código de las disputa). Descríbela brevemente.

Las coordenadas

Las coordenadas nos indican el lugar exacto de un mapa donde asociamos determinada información. Como sabéis, en un mapa del mundo necesitamos saber la longitud (eje horizontal) y la latitud (eje vertical). Las coordenadas de cada incidente las encontramos en otra base de datos de COW, la Militarized Interstate Dispute Locations (v2.1) (Bezerra and Braithwaite 2019). Para descargar los datos, tendremos que aplicar el código que se nos muestra a continuación, en el cual descargamos el archivo MIDLOC_2.1.zip al directorio de trabajo y lo descomprimimos.

download.file("https://correlatesofwar.org/data-sets/MIDLOC/midloc_2-1.zip/@@download/file/MIDLOC_2.1.zip", "MIDLOC_2.1.zip")
unzip("MIDLOC_2.1.zip")

DESCARGA: Si no os funciona el código de descarga, descargamos el archivo zip manualmente, ubicadlo a vuestro directorio de trabajo y cambiadle el nombre por MID5.zip y descomprimidlo. Si os pone los archivos descomprimidos en una subcarpeta, coged todos los archivos de la subcarpeta y ubicadlos al directorio de trabajo (de manera que no os quede a la subcarpeta).

Cuando abrimos el archivo zip se nos ubica a nuestro directorio de trabajo dos archivos .csv con datos de geolocalización: MIDLOCA_2.1.csv y MIDLOCI_2.1.csv.

  1. MIDLOC-A v2.1: Contiene información de disputas militarizadas producidas entre 1816 y 2010. La unidad de análisis es el inicio de la disputa militarizada. Por lo tanto, la geolocalización muestra el lugar del inicio de la disputa, aunque luego se hayan podido producir incidentes en otros lugares.
  2. MIDLOC-I v2.1: Contiene información de disputas militarizadas producidas entre 1993 y 2010. La unidad de análisis es el incidente de la disputa militarizada. Por lo tanto, la geolocalización muestra el lugar de cada incidente. Una disputa militarizada puede tener varios incidentes, entre ellos el incidente que inició la disputa.

Si nos interesan los datos por disputa militarizada, utilizaremos el archivos MIDLOCA_2.1.csv. A continuación, convertimos el archivo en el objeto de R midloca. En la Tabla 2 vemos el resultado de teclear head(midloca) en la consola.

midloca <- read_csv("MIDLOCA_2.1.csv")  #tenéis que tener cargado el paquete readr
head(midloca)
Table 2: Base de datos MIDLOC-A v2.1
yeardispnummidloc2_locationmidloc2_measuringpointmidloc2_xlongitudemidloc2_ylatitudemidloc2_precisionmidloc2_howobtainedmidloc2_precision_commentmidloc2_general_commentpriogrid_cellmidloc11_locationmidloc11_midlocmeasuringpointmidloc11_latitudemidloc11_longitudemidloc11_precision
19022Canada-United States (Alaska [ADM1]) BorderMidpoint of shared (subnational) border-138.670059.82835ArcGIS and GADMPoint along a lineNA215363Alaska-Canadian borderJuneau, Alaska58.5092-134.68904
19133Austria-Yugoslavia BorderMidpoint of shared (national) border14.911046.62235ArcGIS and cShapesPoint along a lineUses 1955 data196950Austria’s border with SerbiaBelgrade, Yug44.811920.46564
19464Straits of CorfuStraits of Corfu19.970039.77003latlong.netStraitNA186880Corfu ChannelKerkira, GRC39.6219.91974
19517Suez CanalTimsah Lake32.290930.57355latlong.netPoint along a lineNA173945Suez canal zoneSuez canal, UAR29.916732.55004
18568Tehran, IranTehran, Iran51.389035.68928latlong.netCapitalNA181183IranTehran, IRN35.671951.42445
18899Mozambique Territorial WatersCentroid of territorial waters36.9704-18.19183ArcGIS and Marine RegionsTerritorial watersNA103394Waters off MozambiqueMaputo-25.965332.58924

Ejercicio 2: Examina el marco de datos midloca mediante las funciones head() y glimpse(). Responde a las siguientes preguntas, ayudándote también del libro de códigos que encontrarás dentro del archivo MIDLOCA_2.1 Codebook.pdf que has descomprimido:

  • ¿Cuál es la unidad de análisis del marco de datos?
  • ¿En qué columnas se encuentran las coordenadas?
  • ¿Cuál es el significado de la variable midloc2_precision?¿Y la midloc2_precision_comment?

Descripción de los conflictos

Es muy importante, al comenzar este apartado, asegurarse de haber comprendido el significado de la columna dispnum, que hemos visto en el apartado anterior. La descripción de todas las disputas militarizadas de la base de datos Militarized Interstate Disputes se encuentran en el libro International Conflicts, 1816-2010: Militarized Interstate Dispute Narratives, disponible en el aula y en la biblioteca de la UOC. Este libro está organizado en dos partes:

  • Introducción: Contiene una definición de disputa militarizada y información de como el libro está organizado.
  • Disputas militarizadas: A partir de la página 4 se describen varios detalles de 2.212 disputas militarizadas entre 1816 y 2010. Fijáos que cada disputa tiene un código asociado. Por ejemplo, la primera disputa que aparece en la página 4 es la número 2.968, que corresponderá con dispnum de la MID dataset.

También, podéis consultar la descripción de las disputas militarizadas más recientes de 1993 en tres archivos que se encuentran dentro del archivo MID5.zip: MID_Narratives 1993-2001.pdf, MID_Narratives 2002-2010.pdf y MID Narratives 2011-2014.pdf.

Ejercicio 3: Haz una ojeada al libro International Conflicts, 1816-2010: Militarized Interstate Dispute Narratives y responde a las siguientes preguntas:

  • ¿Cuál es la definición de disputa?
  • ¿Qué es una narrativa? ¿Qué es una díada?
  • En el segundo apartado del libro ¿Cómo están ordenados los conflictos?

Herramientas de mapeo

Una vez tenemos la información necesaria y las coordenadas de esta información, solo nos queda ubicar todos los elementos en un mapa. En esta parte utilizaremos distintas herrramientas de mapeo del programario R:

  • El mapa base lo crearemos con el paquete ggmap.
  • La información la trataremos con dplyr y la colocaremos al mapa con ggplot2

Mapa base

De momento crearemos el mapamundi world_map que nos permita visualizar la distribución de todas las observaciones de la base de datos MIDLOC-A, según sus coordenadas. Dentro del paquete ggmap2, utilizaremos la función get_stamenmap() para acceder a los mapas. Dentro de las funciones indicaremos:

  • Los límites del mapa.
  • La resolución con zoom.
  • El tipo de mapa que queremos visualizar con maptype. Hemos elegido terrain-background como opción por defecto. Consultad otros tipos de mapa con: ?get_stamenmap.
#Con la función get_stamenmap creamos un mapamundi
world_map <- get_stamenmap(bbox = c(top = 75,
                                    left = -170, right = 170,
                                    bottom = -58),
                                    zoom = 2, #indicamos la resolución del mapa
                                    maptype = "terrain-background")

Si queréis visualizar el objeto que acabáis de crear solo debéis utilizar la función ggmap() como se indica a continuación.

ggmap(world_map)

Información del mapa

Ahora ya tenemos el mapa, las coordenadas y la información. Solo nos queda juntar todos estos elementos con el mapa. Haremos una primera prueba con las herramientas del paquete ggplot2, que nos permiten ubicar las observaciones del objeto midloca en el mapa que acabamos de crear. Para esto, indicaremos las coordenadas horizontales (midloc2_xlongitude) y verticales (midloc2_ylatitude), así como algunos atributos, como el color y la trasparencia de los puntos. El resultado es el mapa que observamos en la Figura 1

#Introducimos los datos de midloca al mapamundi
world_map %>% #mapa base
  ggmap(base_layer = ggplot(aes(x = midloc2_xlongitude, #¿Qué variable ponemos en el eje de las x?
                                y = midloc2_ylatitude), #¿Qué variable ponemos en el eje de las y?
                          data = midloca)) + #¿Dónde se encuentran las coordenadas?
  geom_point(alpha = 0.3, col = "blue") #definimos transparencia al 40% y color azul
Disputas militarizadas interestatales en el mundo (1816-2020)

Figure 1: Disputas militarizadas interestatales en el mundo (1816-2020)

Ejercicio 4: Observad el mapa de la Figura 1 y responde a las siguientes preguntas:

  • ¿Cuáles son las coordenadas que marcan los límites izquierdo, derecho, superior e inferior del mapa?
  • ¿Dónde se encuentran más concentrados los conflictos interestatales?
  • ¿En qué zonas del mundo ha habido menos conflictos interestatales?
  • ¿Qué país se encuentra situado en la longitud -100 y latitud 25?
  • ¿Qué isla se encuentra situada aproximadamente en la longitud 50 y latitud -25?
  • ¿A qué longitud y latitud se encuentra aproximadamente España?

Visualizar disputas militarizadas

A continuación, vamos a mostrar un ejemplo de como visualizar uno o varios conflictos según si utilizamos como unidad de análisis la disputa militarizada o el incidente de la disputa militarizada.

Si tomamos como unidad de análisis la disputa militarizada utilizaremos el marco de datos midajoin, que creamos a partir de los objetos mida y midloca con el código que se muestra a continuación. Este código une los dos objetos y también recodifica algunas variables que hemos tratado anteriormente, como settle o fatality. Las primeras observaciones de midajoin se muestran en la Tabla 3. Fijaos que ahora tenemos las coordenadas e información de la disputa en un mismo marco de datos.

midajoin <- mida %>%
  left_join(midloca, by = c("dispnum")) %>%
  select(dispnum, location = midloc2_location, measuringpoint = midloc2_measuringpoint, 
         lon = midloc2_xlongitude, lat = midloc2_ylatitude, styear, endyear, 
         settle, hostlev, fatality, fatalpre, maxdur, mindur, recip, numa, numb) %>%
  mutate(settle = case_when(settle == 1 ~ "Negotiated",
                            settle == 2 ~ "Imposed",
                            settle == 3 ~ "None",
                            settle == 4 ~ "Unclear",
                            TRUE ~ "Missing"),
         fatality = case_when(fatality == 0 ~ "None",
                              fatality == 1 ~ "1-25",
                              fatality == 2 ~ "26-100",
                              fatality == 3 ~ "101-250",
                              fatality == 4 ~ "251-500",
                              fatality == 5 ~ "501-999",
                              fatality == 6 ~ "More than 999",
                              TRUE ~ "Missing"),
         hostlev = case_when(hostlev == 1 ~ "No militarized action",
                             hostlev == 2 ~ "Threat to use force",
                             hostlev == 3 ~ "Display of force",
                             hostlev == 4 ~ "Use of force",
                             hostlev == 4 ~ "War"))
Table 3: Unión de MIDLOC-A y MIDA
dispnumlocationmeasuringpointlonlatstyearendyearsettlehostlevfatalityfatalpremaxdurmindurrecipnumanumb
2Canada-United States (Alaska [ADM1]) BorderMidpoint of shared (subnational) border-138.6700059.828319021903NegotiatedDisplay of forceNone0208178011
3Austria-Yugoslavia BorderMidpoint of shared (national) border14.9110046.622319131913NoneDisplay of forceNone0177177011
4Straits of CorfuStraits of Corfu19.9700039.770019461946NoneUse of force26-100-9183183111
7Suez CanalTimsah Lake32.2909030.573519511952NoneUse of force26-100-9106106111
8Tehran, IranTehran, Iran51.3890035.689218561857ImposedNAMore than 999-9257227111
9Mozambique Territorial WatersCentroid of territorial waters36.97040-18.191818891890NegotiatedDisplay of forceNone01313011
11Austria-Germany BorderMidpoint of shared (national) border9.5993247.531919381938NegotiatedUse of forceNone022011
12Czechoslovakia-Germany BorderMidpoint of shared (national) border12.6784050.413919381938NegotiatedUse of forceNone0204204115

A continuación, creamos el mapa mida_map y ubicamos los conflictos que tienen como número de disputa (dispnum) 3, 4 y 7. Hemos ubicado algunas variables en el mapa y hemos puesto la transparencia de los puntos (alpha) a 0.5

#Con la función get_stamenmap creamos un mapamundi
mida_map <- get_stamenmap(bbox = c(top = 75,
                                    left = -170, right = 170,
                                    bottom = -58),
                                    zoom = 2, #indicamos la resolución del mapa
                                    maptype = "terrain-background")

#Introducimos los datos de midloca en el mapamundi
mida_map %>% 
  ggmap(base_layer = ggplot(aes(x = lon, y = lat,
                                col = fatality, #elige settle, hostlev o fatality
                                size = styear), #elige fatalpre, maxdur o mindur
  data = filter(midajoin, dispnum %in% c(3,4,7)))) + 
  geom_point(alpha = 0.5)
Conflictos en Austria, Corfú y Canal de Suez

Figure 2: Conflictos en Austria, Corfú y Canal de Suez

Crea tu propio mapa: Modifica el código anterior para crear tu propio mapa:

  • Elige como mínimo dos disputas militarizadas de la sección Hemisferio Occidental del libro International Conflicts, 1816-2010: Militarized Interstate Dispute Narratives (Gibler 2018).
  • Puedes ver la información de la disputa en la base de datos introduciendo el número de disputa con el siguiente código:
View(filter(midajoin, dispnum == XXXX))
  • Elige la variable que representará el color y la variable que representará el tamaño de los puntos. Elige también la transparencia de los puntos.
  • Ajusta las coordenadas del objeto mida_map para focalizar la atención en la zona del mundo donde tengas los conflictos que has seleccionado. Cambia, si lo prefieres, el tipo de mapa (por ejemplo, “watercolor” o “toner-hybrid.” Puedes consultar els tipo de mapa tecleando ?get_stamenmap).
  • Haz una descripción del mapa. Ayúdate de las narrativas del libro International Conflicts, 1816-2010: Militarized Interstate Dispute Narratives (Gibler 2018), de otra información complementaria que consideres oportuna y de la información que tienes en el libro de códigos y en la base de datos.

Referencias

Bezerra, P., and A. Braithwaite. 2019. Codebook for the Militarized Interstate Dispute Location (MIDLOC-A/I) Dataset, v2.1.
Braithwaite, A. 2010. MIDLOC: Introducing the Militarized Interstate Dispute (MID) Location Dataset.” Journal of Peace Research 47 (1): 91–98.
Gibler, Douglas M. 2018. International Conflicts, 1816-2010: Militarized Interstate Dispute Narratives. Volume I. Lanham, MD: Rowman & Littlefield Publishers.
Kahle, David, and Hadley Wickham. 2013. ggmap: Spatial Visualization with ggplot2.” The R Journal 5 (1): 144–61.
Palmer, Glenn, Roseanne W. McManus, Vito D’Orazio, Michael R. Kenwick, Mikaela Karstens, Chase Bloch, Nick Dietrich, Kayla Kahn, Kellan Ritter, and Michael J. Soules. 2020. The MID5 Dataset, 2011-2014: Procedures, Coding Rules, and Description. Working Paper. https://correlatesofwar.org/data-sets/MIDs/mid-5-data-and-supporting-materials.zip/view.

  1. Encontrarás más información metodológica sobre la base de datos en el documento Dispute Coding Manual.pdf, que se encuentra dentro del archivo MID5.zip↩︎

  2. Para más información de como utilizar ggmaps podéis consultar ggmap: Spatial Visualization with ggplot2 (Kahle and Wickham 2013).↩︎

Previous
Next