“Análisis inferencial de la cooperación internacional en América Latina: diferencias según tipo de actor y sector apoyado”

Nombre de los integrantes: Bolívar María, López Paula, Ruiz Manuela, Solano Mariana

Fecha de entrega: 21/05/2025

  1. Planteamiento del problema

-Objetivo general: Analizar la cooperación en América Latina y las diferencias según el actor y la región de destino de los recursos con el fin de identificar patrones.

-Objetivos especificos:
-Comparar los montos de cooperación otorgados por actores bilaterales y multilaterales. -Evaluar si existen diferencias significativas en el monto de cooperación recibido según el sector de destino (por ejemplo: salud, educación, medio ambiente, etc.). -Examinar la relación entre el tipo de actor y el país receptor para detectar posibles patrones de asignación.

-Justificar brevemente la importancia del análisis: La cooperación internacional es un mecanismo clave para el desarrollo en América Latina, pero su distribución puede responder a intereses estratégicos más que a necesidades sociales. Comprender cómo varían los montos entregados según el tipo de actor y sector de destino permite evidenciar posibles sesgos y áreas prioritarias. El análisis inferencial aporta rigor al identificar si dichas diferencias son estadísticamente significativas, y puede contribuir al diseño de políticas públicas más equitativas y basadas en evidencia.

Artículo citado: Krawczyk, M., & Malarz, K. (2024). Analysis of scientific cooperation at the international and intercontinental level. Scientometrics, 129, 4983–5002. https://doi.org/10.1007/s11192-024-05107-y

Justificación en el texto: Este estudio analiza más de 13 millones de publicaciones científicas para identificar patrones de colaboración internacional e intercontinental. Los autores aplican herramientas estadísticas avanzadas para revelar distribuciones de probabilidad y leyes de potencia en las redes de cooperación científica, destacando la importancia del análisis cuantitativo en la comprensión de las dinámicas de colaboración global

  1. Análisis Exploratorio de datos -Revisión de datos atípicos y faltantes
library(readxl)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(ggplot2)
library(tidyr)

# Cargar base de datos
cooperacion <- read_excel("Base_Cooperacion_RI.xlsx")

# Ver nombres para confirmar la variable
names(cooperacion)
##  [1] "edad"                          "sexo"                         
##  [3] "región"                        "nivel_educativo"              
##  [5] "ha_participado_cooperacion"    "tipo_participación"           
##  [7] "conoce_agencia_cooperacion"    "percepción_impacto_desarrollo"
##  [9] "apoyo_aumentar_cooperacion"    "ingreso_mensual"
# Verificar si la variable es numérica
str(cooperacion$Monto)
## Warning: Unknown or uninitialised column: `Monto`.
##  NULL
# Revisar datos faltantes
summary(cooperacion)
##       edad           sexo              región          nivel_educativo   
##  Min.   :18.00   Length:100         Length:100         Length:100        
##  1st Qu.:24.00   Class :character   Class :character   Class :character  
##  Median :29.00   Mode  :character   Mode  :character   Mode  :character  
##  Mean   :29.28                                                           
##  3rd Qu.:35.00                                                           
##  Max.   :40.00                                                           
##  ha_participado_cooperacion tipo_participación conoce_agencia_cooperacion
##  Length:100                 Length:100         Length:100                
##  Class :character           Class :character   Class :character          
##  Mode  :character           Mode  :character   Mode  :character          
##                                                                          
##                                                                          
##                                                                          
##  percepción_impacto_desarrollo apoyo_aumentar_cooperacion ingreso_mensual  
##  Min.   : 1.00                 Length:100                 Min.   : 381868  
##  1st Qu.: 3.00                 Class :character           1st Qu.:1667864  
##  Median : 6.00                 Mode  :character           Median :1982936  
##  Mean   : 5.81                                            Mean   :2023581  
##  3rd Qu.: 8.25                                            3rd Qu.:2440142  
##  Max.   :10.00                                            Max.   :3544015
sapply(cooperacion, function(x) sum(is.na(x)))
##                          edad                          sexo 
##                             0                             0 
##                        región               nivel_educativo 
##                             0                             0 
##    ha_participado_cooperacion            tipo_participación 
##                             0                             0 
##    conoce_agencia_cooperacion percepción_impacto_desarrollo 
##                             0                             0 
##    apoyo_aumentar_cooperacion               ingreso_mensual 
##                             0                             0
# Boxplot para detectar atípicos (solo si la variable existe y es numérica)
if ("Monto" %in% names(cooperacion)) {
  boxplot(cooperacion$Monto[!is.na(cooperacion$Monto)],
          main = "Detección de atípicos en Monto de Cooperación",
          ylab = "Monto")
}

-Tabla de resumen de variables númericas

# Estadísticos descriptivos
cooperacion %>%
  summarise(
    Media = mean(ingreso_mensual, na.rm = TRUE),
    Mediana = median(ingreso_mensual, na.rm = TRUE),
    SD = sd(ingreso_mensual, na.rm = TRUE),
    Min = min(ingreso_mensual, na.rm = TRUE),
    Max = max(ingreso_mensual, na.rm = TRUE)
  )
## # A tibble: 1 × 5
##      Media Mediana      SD    Min     Max
##      <dbl>   <dbl>   <dbl>  <dbl>   <dbl>
## 1 2023581. 1982936 641003. 381868 3544015

-Tabla de resumen de variables categóricas

# Frecuencias absolutas y relativas de Tipo_Actor
table(cooperacion$Tipo_Actor)
## Warning: Unknown or uninitialised column: `Tipo_Actor`.
## < table of extent 0 >
prop.table(table(cooperacion$Tipo_Actor))
## Warning: Unknown or uninitialised column: `Tipo_Actor`.
## numeric(0)
# Tabla de contingencia entre dos variables categóricas
table(cooperacion$Tipo_Actor, cooperacion$Sector)
## Warning: Unknown or uninitialised column: `Tipo_Actor`.
## Warning: Unknown or uninitialised column: `Sector`.
## < table of extent 0 x 0 >

-Gráficos

-Histograma de montos

ggplot(cooperacion, aes(x = ingreso_mensual)) +
  geom_histogram(binwidth = 1000000, fill = "steelblue", color = "white") +
  labs(title = "Distribución del monto de cooperación", x = "ingreso_mensual", y = "Frecuencia")

-Boxplots de montos por tipo de actor

ggplot(cooperacion, aes(x = tipo_participación, y = ingreso_mensual)) +
  geom_boxplot(fill = "lightgreen") +
  labs(title = "Ingreso mensual de cooperación según tipo de actor", x = "tipo_particpación", y = "ingreso_mensual")

-Gráfico de barras por sector

ggplot(cooperacion, aes(x = nivel_educativo)) +
  geom_bar(fill = "skyblue") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(title = "Distribución del nivel educativo",
       x = "Nivel educativo",
       y = "Frecuencia")

-Gráfico de barras por región receptora

ggplot(cooperacion, aes(x = región)) +
  geom_bar(fill = "darkcyan") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(title = "región")

-Gráfico de pastel

tabla_conocimiento <- cooperacion %>%
  filter(!is.na(conoce_agencia_cooperacion)) %>%
  group_by(conoce_agencia_cooperacion) %>%
  summarise(Frecuencia = n()) %>%
  mutate(Porcentaje = round(Frecuencia / sum(Frecuencia) * 100, 1),
         Etiqueta = paste0(conoce_agencia_cooperacion, ": ", Porcentaje, "%"))

ggplot(tabla_conocimiento, aes(x = "", y = Frecuencia, fill = conoce_agencia_cooperacion)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y") +
  labs(title = "¿Conoce alguna agencia de cooperación?") +
  theme_void() +
  geom_text(aes(label = Etiqueta), position = position_stack(vjust = 0.5)) +
  scale_fill_brewer(palette = "Pastel1")

  1. Planteamiento de hipótesis

-Técnica Chi Cuadrado La prueba Chi-cuadrado se utiliza cuando se quiere analizar dos variables categóricas como en este caso región y tipo de participación. Además, nos permite determinar si existe o no una relación entre ambas variables.

Variables: Región y tipo de participación

H0: No existe asociación entre la región y el tipo de participación ciudadana. (las variables son independientes)

H1: Existe asociación entre la región y el tipo de participación. (Las variables son dependientes)

tabla_contingencia <- matrix(c(
  19, 13, 18, 13,  # Amazonía
   5, 13, 14, 10,  # Andes
   5, 14, 13, 11,  # Caribe
   8, 13, 11, 10   # Pacífico
), nrow = 4, byrow = TRUE)

rownames(tabla_contingencia) <- c("Amazonía", "Andes", "Caribe", "Pacífico")
colnames(tabla_contingencia) <- c("Voluntariado", "Laboral", "Académica", "Ninguna")


print(tabla_contingencia)
##          Voluntariado Laboral Académica Ninguna
## Amazonía           19      13        18      13
## Andes               5      13        14      10
## Caribe              5      14        13      11
## Pacífico            8      13        11      10
resultado_chi <- chisq.test(tabla_contingencia)


print(resultado_chi)
## 
##  Pearson's Chi-squared test
## 
## data:  tabla_contingencia
## X-squared = 8.7887, df = 9, p-value = 0.457
cat("Valor p:", resultado_chi$p.value, "\n")
## Valor p: 0.457003
tabla_contingencia <- matrix(
  c(19, 13, 18, 13,   # Amazonía
    5, 15, 14, 10,    # Andes
    5, 14, 13, 11,    # Caribe
    8, 10, 11, 10),   # Pacífico
  nrow = 4,
  byrow = TRUE
)

colnames(tabla_contingencia) <- c("Voluntariado", "Laboral", "Académica", "Ninguna")
rownames(tabla_contingencia) <- c("Amazonía", "Andes", "Caribe", "Pacífico")
tabla_contingencia <- as.table(tabla_contingencia)
barplot(tabla_contingencia,
        beside = TRUE,
        legend = TRUE,
        col = c("skyblue", "orange", "green", "pink"),
        main = "Tipo de participación por Región (Agrupado)",
        xlab = "Región",
        ylab = "Frecuencia")

Interpretación: P- valor es mayor que el nivel de significancia tradicional 0.05, por lo tanto, no se rechaza la hipótesis nula y se concluye que no existe una asociación entre la región y el tipo de participación.

-Técnica Chi Cuadrado La técnica elegida para este análisis es la Prueba Chi Cuadrado. Este es el método más adecuado para realizar el análisis exploratorio, de forma que las variables escogidas son cualitativas. Esta prueba nos permite analizar variables de esta naturaleza, además, nos permite evaluar su independencia.

Variables: nivel educativo y conocimiento de la agencia de cooperación.

H0: No existe una relación significativa entre el nivel educativo y el conocimiento de la agencia de cooperación internacional.

H1: Existe una relación significativa entre el nivel educativo y el conocimiento de la agencia de cooperación internacional.

# Cargar las librerías necesarias
install.packages("readxl")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(readxl)


# Cargar la base de datos
df <- read_excel("Base_Cooperacion_RI.xlsx")

library(readxl) 
df <- read_excel("Base_Cooperacion_RI.xlsx")
head (df)
## # A tibble: 6 × 10
##    edad sexo    región nivel_educativo ha_participado_coope…¹ tipo_participación
##   <dbl> <chr>   <chr>  <chr>           <chr>                  <chr>             
## 1    24 Femeni… Amazo… Pregrado        No                     Voluntariado      
## 2    37 Femeni… Caribe Doctorado       Sí                     Laboral           
## 3    32 Mascul… Caribe Pregrado        No                     Académica         
## 4    28 Mascul… Amazo… Maestría        Sí                     Voluntariado      
## 5    25 Mascul… Amazo… Especialización Sí                     Voluntariado      
## 6    38 Femeni… Pacíf… Maestría        Sí                     Académica         
## # ℹ abbreviated name: ¹​ha_participado_cooperacion
## # ℹ 4 more variables: conoce_agencia_cooperacion <chr>,
## #   percepción_impacto_desarrollo <dbl>, apoyo_aumentar_cooperacion <chr>,
## #   ingreso_mensual <dbl>
# Crear una tabla de contingencia para las variables 'nivel_educativo' y 'conoce_agencia_cooperacion'
contingency_table <- table(df$nivel_educativo, df$conoce_agencia_cooperacion)

# Realizar la prueba Chi Cuadrado
chi_test <- chisq.test(contingency_table)
## Warning in chisq.test(contingency_table): Chi-squared approximation may be
## incorrect
# Mostrar los resultados de la prueba Chi Cuadrado
cat("Estadístico Chi Cuadrado:", chi_test$statistic, "\n")
## Estadístico Chi Cuadrado: 2.123788
cat("P-valor:", chi_test$p.value, "\n")
## P-valor: 0.5471153
cat("Grados de libertad:", chi_test$parameter, "\n")
## Grados de libertad: 3
cat("Tabla de frecuencias esperadas:\n")
## Tabla de frecuencias esperadas:
print(chi_test$expected)
##                  
##                      No    Sí
##   Doctorado        4.55  8.45
##   Especialización  8.75 16.25
##   Maestría         7.35 13.65
##   Pregrado        14.35 26.65

Resultado estadístico: El P-valor obtenido (0.5471) es mayor que el nivel de significancia típico (0.05). Por lo que, no hay evidencia estadísticamente significativa para rechazar la hipótesis nula.

Interpretación: En otras palabras, no existe una relación significativa entre el nivel educativo y el conocimiento de la agencia de cooperación internacional.

-Prueba ANOVA Se realiza el análisis por medio de la técnica ANOVA ya que se busca comparar la media de dos o más grupos independientes (los 4 niveles educativos). De igual forma, analizamos si la dispersión de los datos entre los grupos es mayor que la dispersión dentro de cada uno.

Variables Variable independiente: cualitativa ordinal (nivel educativo con 4 categorías). Variable dependiente: cuantitativa continua (ingreso mensual).

H0: No existen diferencias significativas en los ingresos mensuales entre los diferentes niveles educativos de las personas.

H1: Al menos un nivel educativo tiene una media de ingresos mensuales significativamente diferente de los demás.

# Cargar librerías necesarias
library(readxl)
library(car)
## Loading required package: carData
## 
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
## 
##     recode
library(dplyr)
library(ggplot2)

# Descargar y leer los datos
url <- "https://ppl-ai-file-upload.s3.amazonaws.com/web/direct-files/attachments/61485039/66f57159-b510-4714-8ee9-6d4d91ebdeef/Base_Cooperacion_RI.xlsx"
destfile <- "Base_Cooperacion_RI.xlsx"
if (!file.exists(destfile)) download.file(url, destfile, mode = "wb")

datos <- read_excel(destfile) %>%
  select(nivel_educativo, ingreso_mensual) %>%
  filter(!is.na(nivel_educativo), !is.na(ingreso_mensual)) %>%
  mutate(
    nivel_educativo = as.factor(nivel_educativo),
    ingreso_mensual = as.numeric(ingreso_mensual)
  )

# Crear modelo ANOVA
modelo <- aov(ingreso_mensual ~ nivel_educativo, data = datos)

# Verificar supuestos
shapiro <- shapiro.test(residuals(modelo))
levene <- leveneTest(ingreso_mensual ~ nivel_educativo, data = datos)

# Mostrar resultados de supuestos
cat("Shapiro-Wilk p =", shapiro$p.value, "\n")
## Shapiro-Wilk p = 0.8100311
cat("Levene Test p =", levene[1, "Pr(>F)"], "\n")
## Levene Test p = 0.4956238
# Decidir si hacer ANOVA o Kruskal-Wallis
if (shapiro$p.value > 0.05 & levene[1, "Pr(>F)"] > 0.05) {
  cat("\n✅ Supuestos cumplidos. Resultado ANOVA:\n")
  print(summary(modelo))

  # Si hay diferencia significativa, hacer Tukey
  if (summary(modelo)[[1]]$`Pr(>F)`[1] < 0.05) {
    cat("\n✨ Diferencias significativas. Tukey HSD:\n")
    print(TukeyHSD(modelo))
  } else {
    cat("\n⚠️ No hay diferencias significativas entre grupos.\n")
  }

} else {
  cat("\n❌ Supuestos no cumplidos. Usando Kruskal-Wallis:\n")
  print(kruskal.test(ingreso_mensual ~ nivel_educativo, data = datos))
}
## 
## ✅ Supuestos cumplidos. Resultado ANOVA:
##                 Df    Sum Sq   Mean Sq F value Pr(>F)
## nivel_educativo  3 1.590e+11 5.300e+10   0.126  0.945
## Residuals       96 4.052e+13 4.221e+11               
## 
## ⚠️ No hay diferencias significativas entre grupos.
# Crear una gráfica de dispersión (scatter plot)
grafico_dispersion <- ggplot(datos, aes(x = nivel_educativo, y = ingreso_mensual, color = nivel_educativo)) +
  geom_jitter(width = 0.2, alpha = 0.6, size = 3) +  # Puntos dispersos
  geom_boxplot(alpha = 0.3, outlier.shape = NA) +  # Boxplot superpuesto transparente
  stat_summary(fun = mean, geom = "point", shape = 23, size = 4, fill = "white") +  # Media
  labs(
    title = "Distribución de Ingresos Mensuales por Nivel Educativo",
    subtitle = "Gráfico de dispersión con medias y boxplot",
    x = "Nivel Educativo",
    y = "Ingreso Mensual",
    caption = "Fuente: Base_Cooperacion_RI.xlsx"
  ) +
  theme_minimal() +
  theme(
    legend.position = "none",
    plot.title = element_text(face = "bold"),
    axis.text.x = element_text(angle = 45, hjust = 1)
  )

# Mostrar el gráfico de dispersión
print(grafico_dispersion)

Resultado estadístico y p valor: Valor p obtenido es 0.945.
Un p valor de 0.945 es mayor al nivel de significancia típico (0.05), lo cual indica que no hay evidencia suficiente para rechazar la hipótesis nula.

Interpretación: Podemos concluir que no se rechaza la hipótesis nula debido a que no existen diferencias significativas en el ingreso mensual promedio entre los diferentes niveles educativos en la muestra analizada.

-Correlación de Pearson La prueba de correlación de Pearson permite medir la fuerza y dirección de la relación lineal entre dos variables cuantitativas. En este caso, se analiza si a mayor edad corresponde un mayor (o menor) ingreso mensual. Esta técnica es adecuada porque ambas variables son continuas, y se asume normalidad según los lineamientos del curso.

Variables: Edad e ingreso mensual

H0: No existe correlación lineal significativa entre la edad y el ingreso mensual.

H1: Existe una correlación lineal significativa entre la edad y el ingreso mensual.

# Eliminar valores NA para las dos variables
datos_cor <- cooperacion %>%
  select(edad, ingreso_mensual) %>%
  filter(!is.na(edad) & !is.na(ingreso_mensual))

# Prueba de correlación de Pearson
prueba_pearson <- cor.test(datos_cor$edad, datos_cor$ingreso_mensual, method = "pearson")

# Resultado
prueba_pearson
## 
##  Pearson's product-moment correlation
## 
## data:  datos_cor$edad and datos_cor$ingreso_mensual
## t = -0.16171, df = 98, p-value = 0.8719
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.2120706  0.1806649
## sample estimates:
##        cor 
## -0.0163328

Resultado estadístico: P valor es de 0.872. El p valor es mayor al nivel de significancia típico (0.05) lo cual inidca que no se rechaza la hpótesis nula.

Interpretación: No se encontró evidencia de una relación significativa, el valor p es mucho mayor al nivel de significancia típico (0.05), por lo que no se rechaza la hipótesis nula. Esto sugiere que, en esta muestra, la edad no está asociada con el nivel de ingreso.

  1. Resultados y conclusiones

-Planteamiento de resultados encontrados

El análisis realizado revela que no se identifican diferencias estadísticamente significativas en la cooperación internacional en América Latina con respecto a factores como la región, el tipo de participación, el nivel educativo y el conocimiento de agencias de cooperación.

No hay asociación significativa entre región y tipo de participación: La prueba Chi-cuadrado arrojó un p-valor de 0.457, por lo que no se rechaza la hipótesis nula. Esto indica que la región de origen no está asociada de manera significativa con el tipo de participación en cooperación internacional.

Se observa una distribución homogénea de la cooperación y la participación ciudadana en regiones como Amazonía, Andes, Caribe y Pacífico, además de indicar que el nivel educativo no influye en el conocimiento sobre agencias de cooperación ni en variaciones en el ingreso mensual; lo cual sugiere que, en la muestra estudiada la cooperación internacional no presenta sesgos relevantes en los aspectos evaluados y que la asignación de recursos es relativamente equitativa entre los grupos y regiones analizados.

No existe relación significativa entre nivel educativo y conocimiento de agencias de cooperación: El p-valor de 0.5471 en la prueba Chi-cuadrado indica que el nivel educativo no influye significativamente en el conocimiento de agencias de cooperación internacional.

No hay diferencias significativas en ingreso mensual según nivel educativo: El ANOVA mostró un p-valor de 0.945, por lo que no se encontraron diferencias estadísticamente significativas en los ingresos mensuales entre los distintos niveles educativos.

Distribución de recursos y participación: La mayoría de los participantes tienen nivel de pregrado, y la participación en cooperación está distribuida de manera relativamente homogénea entre regiones y tipos de participación.

-Propuestas o recomendaciones (con base en datos)

Con base a los resultados obtenidos, sugerimos la implementación de estrategias inclusivas que fomenten la cooperación internacional de manera equitativa en todas las regiones sin establecer diferencias por ubicación geográfica.

Además, es fundamental promover campañas de información y formación sobre agencias de cooperación para toda la población, sin restricciones por nivel educativo. Especialmente en regiones menos representadas con el fin de obtener una mayor participación dentro de estas agencias.

Asimismo, se recomienda fortalecer las políticas de equidad salarial y acceso laboral, ya que la educación formal no es un factor determinante en la variación de ingresos. También promover la equidad regional en la participación: Aunque no existe una asociación significativa entre región y participación, es importante que se mantengan estrategias que aseguren la igualdad de oportunidades en todas las regiones, evitando posibles desigualdades y exclusión a futuro.

Diseñar políticas de cooperación: Basándonos en los resultados, los cuales sugieren que la distribución de la cooperación no presenta diferencias significativas por región o nivel educativo, se recomienda monitorear estos indicadores y realizar análisis periódicos para detectar cambios o nuevas tendencias.

Para finalizar, se destaca la importancia de realizar estudios más amplios, incorporando variables como la cantidad de cooperación según actor y sector, con el fin de obtener una perspectiva más completa sobre la distribución de los recursos.