# Instalamos y cargamos las librerías
if(!require(readxl)) install.packages("readxl")
## Cargando paquete requerido: readxl
library(readxl)
library(ggplot2)
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
library(knitr)

# Cargamos el archivo 
# Nota: Debo asegurarme de que el archivo está en la misma carpeta donde guarde el script de R
df <- read_excel("WorldSustainabilityDS_clean.xlsx")

# Verificamos que se ha cargado
print("Archivo cargado")
## [1] "Archivo cargado"
head(df)
## # A tibble: 6 × 54
##   Country CountryCode  Year EG.ELC.ACCS.ZS NY.ADJ.NNTY.PC.KD.ZG
##   <chr>   <chr>       <dbl>          <dbl>                <dbl>
## 1 Aruba   ABW          2000           91.7                   NA
## 2 Aruba   ABW          2001          100                     NA
## 3 Aruba   ABW          2002          100                     NA
## 4 Aruba   ABW          2003          100                     NA
## 5 Aruba   ABW          2004          100                     NA
## 6 Aruba   ABW          2005          100                     NA
## # ℹ 49 more variables: NY.ADJ.SVNX.GN.ZS <dbl>, NY.ADJ.DCO2.GN.ZS <dbl>,
## #   NY.ADJ.DRES.GN.ZS <dbl>, NY.ADJ.DFOR.GN.ZS <dbl>, NY.ADJ.DPEM.GN.ZS <dbl>,
## #   FB.ATM.TOTL.P5 <dbl>, FM.LBL.BMNY.GD.ZS <dbl>, SE.PRM.UNER.ZS <dbl>,
## #   SE.COM.DURS <dbl>, IC.REG.COST.PC.FE.ZS <dbl>, IC.REG.COST.PC.MA.ZS <dbl>,
## #   NE.EXP.GNFS.ZS <dbl>, NE.CON.TOTL.ZS <dbl>, NY.GDP.MKTP.CD <dbl>,
## #   NY.GDP.PCAP.CD <dbl>, NE.CON.GOVT.ZS <dbl>, NE.DAB.TOTL.ZS <dbl>,
## #   NY.GNS.ICTR.ZS <dbl>, NE.IMP.GNFS.ZS <dbl>, FP.CPI.TOTL.ZG <dbl>, …
print("1.0 ¿La esperanza de vida es mayor en los países con alto nivel de ingresos que en el resto?")
## [1] "1.0 ¿La esperanza de vida es mayor en los países con alto nivel de ingresos que en el resto?"
print("1.1. Análisis descriptivo")
## [1] "1.1. Análisis descriptivo"
# Filtramos el año, etiquetamos el paía en nueva columna Income y filtramos valore NA's en las columnas LE e Income
df_pr1 <- filter(
  mutate(
    filter(df, Year == 2018),
    Group = ifelse(Income == "High income", "High Income", "Others"),
    LE = SP.DYN.LE00.IN
  ),
  !is.na(LE) & !is.na(Income)
)
# Seleccionamos los valores de LE para cada grupo
grupo_high <- df_pr1$LE[df_pr1$Group == "High Income"]
grupo_otros <- df_pr1$LE[df_pr1$Group == "Others"]

cat("1.2 Hipótesis nula= La esperanza de vida en países ricos es menor o igual al resto.", "\n", "Hipótesis alternativa= La esperanza de vida en países ricos es mayor.")
## 1.2 Hipótesis nula= La esperanza de vida en países ricos es menor o igual al resto. 
##  Hipótesis alternativa= La esperanza de vida en países ricos es mayor.
#Test

print("1.3 Usaremos un t-test para dos muestras independientes asumiendo varianzas diferentes (Welch). La variable es cuantitativa (años de vida) y comparamos dos grupos distintos de países. Al tener muestras grandes (n>30), el Teorema del Límite Central nos permite usar el test t sin exigir normalidad estricta en los datos originales.")
## [1] "1.3 Usaremos un t-test para dos muestras independientes asumiendo varianzas diferentes (Welch). La variable es cuantitativa (años de vida) y comparamos dos grupos distintos de países. Al tener muestras grandes (n>30), el Teorema del Límite Central nos permite usar el test t sin exigir normalidad estricta en los datos originales."
print("1.4 Aplicación del test, ejecutamos el Test T")
## [1] "1.4 Aplicación del test, ejecutamos el Test T"
t_test_pr1 <- t.test(grupo_high, grupo_otros,
                     alternative = "greater",
                     var.equal = FALSE)

# Mostramos el resultado
t_test_pr1
## 
##  Welch Two Sample t-test
## 
## data:  grupo_high and grupo_otros
## t = 13.668, df = 169.76, p-value < 2.2e-16
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
##  9.018434      Inf
## sample estimates:
## mean of x mean of y 
##  79.96936  69.70942
# Mostramos el resultado
print(t_test_pr1)
## 
##  Welch Two Sample t-test
## 
## data:  grupo_high and grupo_otros
## t = 13.668, df = 169.76, p-value < 2.2e-16
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
##  9.018434      Inf
## sample estimates:
## mean of x mean of y 
##  79.96936  69.70942
print("1.5 Desarrollo manual del calculo")
## [1] "1.5 Desarrollo manual del calculo"
# Estadísticos por grupo
mean_vals <- tapply(df_pr1$LE, df_pr1$Group, mean)
sd_vals   <- tapply(df_pr1$LE, df_pr1$Group, sd)
n_vals    <- tapply(df_pr1$LE, df_pr1$Group, length)

stats_pr1 <- data.frame(Group = names(mean_vals),
                        mean = mean_vals,
                        sd = sd_vals,
                        n = n_vals)

# Extraer valores
m1 <- stats_pr1$mean[stats_pr1$Group == "High Income"]
s1 <- stats_pr1$sd[stats_pr1$Group == "High Income"]
n1 <- stats_pr1$n[stats_pr1$Group == "High Income"]

m2 <- stats_pr1$mean[stats_pr1$Group == "Others"]
s2 <- stats_pr1$sd[stats_pr1$Group == "Others"]
n2 <- stats_pr1$n[stats_pr1$Group == "Others"]

# Cálculo del estadístico t
se_diff <- sqrt(s1^2/n1 + s2^2/n2)
t_manual <- (m1 - m2) / se_diff

# Grados de libertad (Welch)
df_welch <- (s1^2/n1 + s2^2/n2)^2 / ( (s1^2/n1)^2/(n1-1) + (s2^2/n2)^2/(n2-1) )

# Valor p (cola derecha)
p_val_manual <- 1 - pt(t_manual, df_welch)

cat("T calculado:", t_manual, "P-value manual:", p_val_manual)
## T calculado: 13.66783 P-value manual: 0
cat("1.6 y 1.7 Existen datos estadísticos significativos para afirmar que la esperanza de vida es mayor en los países de ingresos altos\n","valor P manual:", format(p_val_manual, nsmall = 5), "\n","los valores del tst primero son:", sprintf("%.5f", t_test_pr1$p.value))
## 1.6 y 1.7 Existen datos estadísticos significativos para afirmar que la esperanza de vida es mayor en los países de ingresos altos
##  valor P manual: 0.00000 
##  los valores del tst primero son: 0.00000
cat("2. Desigualdad a lo largo del tiempo\n", "PR2:¿La desigualdad se reduce en un período de 10 años?\n", "\n", "2.1. Análisis descriptivo\n")
## 2. Desigualdad a lo largo del tiempo
##  PR2:¿La desigualdad se reduce en un período de 10 años?
##  
##  2.1. Análisis descriptivo
# Filtrar el data frame para quedarnos solo con los años 2008 y 2018
df_filtrado <- df[df$Year %in% c(2008, 2018), ]

# Seleccionar solo las columnas que nos interesan
df_seleccion <- df_filtrado[, c("Country", "Year", "SI.POV.GINI", "Region")]

# Eliminar filas con valores faltantes (NA)
df_pr2 <- na.omit(df_seleccion)

# 2.1.1 Crear el gráfico comparativo
ggplot(df_pr2, aes(x = factor(Year), y = SI.POV.GINI, fill = factor(Year))) +
  geom_boxplot() +
  labs(title = "Distribución del índice GINI (2008 vs 2018)",
       y = "GINI",
       x = "Año")

# 2.1.2 Gráfico de Europa y Norteamérica
df_europa <- df_pr2[df_pr2$Region == "Europe and Northern America", ]
ggplot(df_europa, aes(x = factor(Year), y = SI.POV.GINI, fill = factor(Year))) +
  geom_boxplot() +
  labs(title = "Distribución del índice GINI en Europa y Norteamérica",
       y = "Índice GINI", x = "Año")

# top 5 Regional (Europa y Norteamérica)
df_ranking_europa <- df_europa[df_europa$Year == 2018, c("Country", "SI.POV.GINI")]
df_ranking_europa <- df_ranking_europa[order(-df_ranking_europa$SI.POV.GINI), ]

top5_europa <- head(df_ranking_europa, 5)
bottom5_europa <- tail(df_ranking_europa, 5)
tabla_regional <- rbind(
  data.frame(Ranking = "Top 5 (Mayor GINI)", top5_europa),
  data.frame(Ranking = "Bottom 5 (Menor GINI)", bottom5_europa)
)
print(tabla_regional)
##                  Ranking            Country SI.POV.GINI
## 1     Top 5 (Mayor GINI)      United States        41.4
## 2     Top 5 (Mayor GINI)           Bulgaria        41.3
## 3     Top 5 (Mayor GINI) Russian Federation        37.5
## 4     Top 5 (Mayor GINI)            Romania        35.8
## 5     Top 5 (Mayor GINI)          Lithuania        35.7
## 6  Bottom 5 (Menor GINI)            Moldova        25.7
## 7  Bottom 5 (Menor GINI)            Belarus        25.2
## 8  Bottom 5 (Menor GINI)     Czech Republic        25.0
## 9  Bottom 5 (Menor GINI)    Slovak Republic        25.0
## 10 Bottom 5 (Menor GINI)           Slovenia        24.6
cat("2.2 Hipotesis nula: la desigualdad no ha bajado", "\n", "Hipotesis alternativa: la desigualdad ha disminuido, la diferencia es negativa", "\n", "\n", "2.3 Para este caso vamos a usar el Paired t-test, ya que son los mismos paises medidos en rengos de tiempo diferentes", "\n", "\n", "2.4 Aplicacion del test", "\n", "\n")
## 2.2 Hipotesis nula: la desigualdad no ha bajado 
##  Hipotesis alternativa: la desigualdad ha disminuido, la diferencia es negativa 
##  
##  2.3 Para este caso vamos a usar el Paired t-test, ya que son los mismos paises medidos en rengos de tiempo diferentes 
##  
##  2.4 Aplicacion del test 
## 
# Convertimos la columna a numérica
df_pr2$SI.POV.GINI <- as.numeric(df_pr2$SI.POV.GINI)

# Transformamos la tabla, pasando los años a columnas seguidos de la letra "Y".
df_paired <- pivot_wider(df_pr2,
                         names_from = Year,
                         values_from = SI.POV.GINI,
                         names_prefix = "Y")

# Eliminar filas con NA
df_paired <- na.omit(df_paired)

# Ver columnas
names(df_paired)
## [1] "Country" "Region"  "Y2008"   "Y2018"
# Test t pareado
t_test_pr2 <- t.test(df_paired$Y2018, df_paired$Y2008,
                     paired = TRUE, alternative = "less")

t_test_pr2
## 
##  Paired t-test
## 
## data:  df_paired$Y2018 and df_paired$Y2008
## t = -2.643, df = 52, p-value = 0.005417
## alternative hypothesis: true mean difference is less than 0
## 95 percent confidence interval:
##        -Inf -0.4721233
## sample estimates:
## mean difference 
##       -1.288679
# Filtrar manualmente los países de Europa y Norteamérica
df_paired_eur <- df_paired[df_paired$Region == "Europe and Northern America", ]

# Verificamos cuántos países quedaron en la submuestra
cat("\nPaíses emparejados en Europa y Norteamérica:", nrow(df_paired_eur), "\n")
## 
## Países emparejados en Europa y Norteamérica: 29
# Aplicamos el test t emparejado (unilateral 'less')
t_test_eur <- t.test(df_paired_eur$Y2018,
                     df_paired_eur$Y2008,
                     paired = TRUE,
                     alternative = "less")

# Mostramos el resultado
print(t_test_eur)
## 
##  Paired t-test
## 
## data:  df_paired_eur$Y2018 and df_paired_eur$Y2008
## t = -0.92225, df = 28, p-value = 0.1821
## alternative hypothesis: true mean difference is less than 0
## 95 percent confidence interval:
##       -Inf 0.4047998
## sample estimates:
## mean difference 
##      -0.4793103
cat("\n2.5 Desarrollo ", "\n")
## 
## 2.5 Desarrollo
# Calculamos las diferencias (2018 - 2008)
diferencias <- df_paired$Y2018 - df_paired$Y2008
head(df_paired)
## # A tibble: 6 × 4
##   Country   Region                           Y2008 Y2018
##   <chr>     <chr>                            <dbl> <dbl>
## 1 Angola    Sub-Saharan Africa                42.7  51.3
## 2 Argentina Latin America and Caribbean       44.9  41.3
## 3 Armenia   Northern Africa and Western Asia  29.2  34.4
## 4 Austria   Europe and Northern America       30.4  30.8
## 5 Belgium   Europe and Northern America       28.4  27.2
## 6 Bulgaria  Europe and Northern America       33.6  41.3
# Calculamos valores estadistidos
d_bar2 <- mean(diferencias)   # media de las diferencias
s_d2   <- sd(diferencias)     # desviación estándar
n_d2   <- length(diferencias) # número de países

# Estadístico t manual
t_manual <- d_bar2 / (s_d2 / sqrt(n_d2))

# p-valor unilateral, para la hipotesis alternativa
df_t <- n_d2 - 1
p_val_manual <- pt(t_manual, df = df_t)

# Calculamos las diferencias de los mismos peridoos pero en la region eruopa america del norte
diferencias_eur <- df_paired_eur$Y2018 - df_paired_eur$Y2008
df_paired_eur <- na.omit(df_paired_eur)
head(df_paired_eur)
## # A tibble: 6 × 4
##   Country        Region                      Y2008 Y2018
##   <chr>          <chr>                       <dbl> <dbl>
## 1 Austria        Europe and Northern America  30.4  30.8
## 2 Belgium        Europe and Northern America  28.4  27.2
## 3 Bulgaria       Europe and Northern America  33.6  41.3
## 4 Belarus        Europe and Northern America  27.8  25.2
## 5 Switzerland    Europe and Northern America  33.8  33.1
## 6 Czech Republic Europe and Northern America  26.3  25
# Calculamos los valores estadisticos
d_bar2eur <- mean(diferencias_eur)
s_d2eur <- sd(diferencias_eur)
n_d2eur <- length(diferencias_eur)

# Estadistico manual T para europa y norte america 
t_manualeur <- d_bar2eur / (s_d2eur / sqrt(n_d2eur))

# Valor de P para region europa y north america
df_teur <- n_d2eur - 1
p_val_manualeur <- pt(t_manualeur, df = df_teur)
# Mostrar resultados
cat("\n2.6.1 RESULTADOS PARA EL GLOBAL DE PAISES:\n","Media de las diferencias (d_bar2):", d_bar2, "VS ", "test.estimate:", t_test_pr2$estimate,
    "\nEstadístico t manual:", t_manual, "VS test.t:", t_test_pr2$statistic,
    "\nP-value manual:", p_val_manual, "VS test.p:","\n", t_test_pr2$p.value,
    "\n2.7.1\n",
    "Para la media de las diferencias: Tanto el cálculo manual como el t.test coinciden exactamente. Esto significa que, en promedio, el índice GINI en 2018 es 1.29 puntos menor que en 2008\n",
    "\nEn el estadistico t: La diferencia es mínima. Ambos indican que la diferencia es negativa en 2018, lo que da fuerza a la hipotesis alternativa.\n",
    "\nPara los P-value: Coinciden prácticamente al milímetro. El valor p es muy pequeño (< 0.01), los datos son poco compatibles con la hipótesis nula\n",
    "\nEn conclusión, tenemos evidencia suficiente para afirmar que la desigualdad se redujo significativamente entre 2008 y 2018 en los países analizados.\n\n\n")
## 
## 2.6.1 RESULTADOS PARA EL GLOBAL DE PAISES:
##  Media de las diferencias (d_bar2): -1.288679 VS  test.estimate: -1.288679 
## Estadístico t manual: -2.642975 VS test.t: -2.642975 
## P-value manual: 0.005417203 VS test.p: 
##  0.005417203 
## 2.7.1
##  Para la media de las diferencias: Tanto el cálculo manual como el t.test coinciden exactamente. Esto significa que, en promedio, el índice GINI en 2018 es 1.29 puntos menor que en 2008
##  
## En el estadistico t: La diferencia es mínima. Ambos indican que la diferencia es negativa en 2018, lo que da fuerza a la hipotesis alternativa.
##  
## Para los P-value: Coinciden prácticamente al milímetro. El valor p es muy pequeño (< 0.01), los datos son poco compatibles con la hipótesis nula
##  
## En conclusión, tenemos evidencia suficiente para afirmar que la desigualdad se redujo significativamente entre 2008 y 2018 en los países analizados.
cat("\n2.6.2 RESULTADOS PARA LA REGION DE EUROPA Y NORTH AMERICA:\n","Media de las diferencias (d_bar2eur):", d_bar2eur, "VS ", "test.estimate.eur:", t_test_eur$estimate,
    "\nEstadístico t manual eur:", t_manualeur, "VS test.t.eur:", t_test_eur$statistic,
    "\nP-value manual:", p_val_manualeur, "VS test.p:","\n", t_test_eur$p.value,
    "\n2.7.2\n",
    "Para la media de las diferencias: la diferencia es muy pequeña, al ser negativa demuestra que si hubo disminucion, pero muy poca",
    "\nEn el estadistico t eur: el resultado es negativo, lo que indica que la media en 2018 es algo menor que en 2008, pero la magnitud de la diferencia es pequeña.\n",
    "Para los P-value.eur: Este valor es mayor que 0.05, por lo que no se rechaza la hipótesis nula.\n",
    "\nEn Europa y Norteamérica, aunque la media del índice GINI en 2018 es ligeramente menor que en 2008, la variabilidad entre países es alta y el resultado no es estadísticamente significativo.\n")
## 
## 2.6.2 RESULTADOS PARA LA REGION DE EUROPA Y NORTH AMERICA:
##  Media de las diferencias (d_bar2eur): -0.4793103 VS  test.estimate.eur: -0.4793103 
## Estadístico t manual eur: -0.922249 VS test.t.eur: -0.922249 
## P-value manual: 0.1821389 VS test.p: 
##  0.1821389 
## 2.7.2
##  Para la media de las diferencias: la diferencia es muy pequeña, al ser negativa demuestra que si hubo disminucion, pero muy poca 
## En el estadistico t eur: el resultado es negativo, lo que indica que la media en 2018 es algo menor que en 2008, pero la magnitud de la diferencia es pequeña.
##  Para los P-value.eur: Este valor es mayor que 0.05, por lo que no se rechaza la hipótesis nula.
##  
## En Europa y Norteamérica, aunque la media del índice GINI en 2018 es ligeramente menor que en 2008, la variabilidad entre países es alta y el resultado no es estadísticamente significativo.
cat("3. Desigualdad según el tipo de régimen\n", "\nPR3: ¿La proporción de países con mayor desigualdad (GINI>40) es diferente entre los países con régimen democrático y aquellos con régimen autocrático?\n")
## 3. Desigualdad según el tipo de régimen
##  
## PR3: ¿La proporción de países con mayor desigualdad (GINI>40) es diferente entre los países con régimen democrático y aquellos con régimen autocrático?
# Filtrar solo el año 2018
df_pr3 <- df[df$Year == 2018, ]

# Quitar filas con NA en SI.POV.GINI o Regime
df_pr3 <- df_pr3[!is.na(df_pr3$SI.POV.GINI) & !is.na(df_pr3$Regime), ]

cat("3.1 Crear variable (Columna) de alta desigualdad")
## 3.1 Crear variable (Columna) de alta desigualdad
df_pr3$HighInequality <- ifelse(df_pr3$SI.POV.GINI > 40, 1, 0)

# Crear columna de tipo de régimen
df_pr3$RegimeType <- NA
df_pr3$RegimeType[grepl("Democracy", df_pr3$Regime)] <- "Democracy"
df_pr3$RegimeType[grepl("Autocracy", df_pr3$Regime)] <- "Autocracy"

# Quitar filas sin tipo de régimen
df_pr3 <- df_pr3[!is.na(df_pr3$RegimeType), ]

# Crear tabla de Regimen
tabla_regimen <- table(df_pr3$RegimeType, df_pr3$HighInequality)
print(tabla_regimen)
##            
##              0  1
##   Autocracy 12  5
##   Democracy 34 13
cat("3.2","\nHipotesis nula= La proporción de países con mayor desigualdad (GINI>40) es IGUAL entre los países con régimen democrático y aquellos con régimen autocrático.\n","\nHipotesis alternativa= La proporción de países con mayor desigualdad (GINI>40) es DIFERENTE entre los países con régimen democrático y aquellos con régimen autocrático\n" )
## 3.2 
## Hipotesis nula= La proporción de países con mayor desigualdad (GINI>40) es IGUAL entre los países con régimen democrático y aquellos con régimen autocrático.
##  
## Hipotesis alternativa= La proporción de países con mayor desigualdad (GINI>40) es DIFERENTE entre los países con régimen democrático y aquellos con régimen autocrático
cat("3.3 Usaremos el test de dos proporciones  (prop.test), porque tenemos una variable categórica dicotómica y queremos ver si su proporción cambia entre dos poblaciones distintas.\n")
## 3.3 Usaremos el test de dos proporciones  (prop.test), porque tenemos una variable categórica dicotómica y queremos ver si su proporción cambia entre dos poblaciones distintas.
cat("3.5\n")
## 3.5
# Re-extraer valores de la tabla, enfocados en '1' (Alta Desigualdad)
x_altas <- tabla_regimen[, "1"] # Países con GINI > 40
n_totales <- rowSums(tabla_regimen) # Totales

x_aut <- x_altas["Autocracy"]; n_aut <- n_totales["Autocracy"]
x_dem <- x_altas["Democracy"]; n_dem <- n_totales["Democracy"]

# Calcular las proporciones muestrales (ALTA DESIGUALDAD)
p_hat_aut <- x_aut / n_aut
p_hat_dem <- x_dem / n_dem

# Calcular la proporción combinada (pooled proportion)
p_c <- (x_aut + x_dem) / (n_aut + n_dem)

# Calcular el Error Estándar (SE)
se_pooled <- sqrt(p_c * (1 - p_c) * (1/n_aut + 1/n_dem))

# Calcular el estadístico Z (Usamos Autocracia - Democracia)
z_manual <- (p_hat_aut - p_hat_dem) / se_pooled

# Calcular el p-valor (bilateral)
p_val_manual <- 2 * (1 - pnorm(abs(z_manual)))

cat("\n3.6 Resultados: \n",
    "Proporción Autocracia (GINI>40):", p_hat_aut, 
    "\nProporción Democracia (GINI>40):", p_hat_dem,
    "\nEstadístico Z manual:", z_manual, 
    "\nP-value manual:", p_val_manual)
## 
## 3.6 Resultados: 
##  Proporción Autocracia (GINI>40): 0.2941176 
## Proporción Democracia (GINI>40): 0.2765957 
## Estadístico Z manual: 0.1376986 
## P-value manual: 0.8904786
cat("\nNo se encontró evidencia estadística (P-value >0.05) de que la proporción de países con alta desigualdad (GINI>40) sea diferente entre democracias y autocracias. Aunque las autocracias presentan un 29.41% y las democracias un 27.66%, la diferencia es mínima y atribuible al azar. En consecuencia, se concluye que las proporciones son iguales.\n")
## 
## No se encontró evidencia estadística (P-value >0.05) de que la proporción de países con alta desigualdad (GINI>40) sea diferente entre democracias y autocracias. Aunque las autocracias presentan un 29.41% y las democracias un 27.66%, la diferencia es mínima y atribuible al azar. En consecuencia, se concluye que las proporciones son iguales.
cat("\n4. Proporción de países que cumplen con el objetivo de no agota
miento de bosques\n", "\nPR4: ¿La proporción de países que cumplen con el objetivo de no agotamiento neto de bosques
 es mayor que 50%?\n")
## 
## 4. Proporción de países que cumplen con el objetivo de no agota
## miento de bosques
##  
## PR4: ¿La proporción de países que cumplen con el objetivo de no agotamiento neto de bosques
##  es mayor que 50%?
cat("\n4.1 Análisis descriptivo: \n")
## 
## 4.1 Análisis descriptivo:
# Filtrar solo el año 2018
df_pr4 <- df[df$Year == 2018, ]

# Renombrar la columna de agotamiento de bosques
names(df_pr4)[names(df_pr4) == "NY.ADJ.DFOR.GN.ZS"] <- "FOR"

# Quitar filas con valores faltantes en FOR
df_pr4 <- df_pr4[!is.na(df_pr4$FOR), ]

# Crear columna CumpleObjetivo (1 si no agota bosques, 0 si sí)
df_pr4$CumpleObjetivo <- ifelse(df_pr4$FOR <= 0, 1, 0)

# Hacer el gráfico
hist(df_pr4$FOR,
     breaks = 20,
     col = "forestgreen",
     main = "Distribución de Agotamiento de Bosques (2018)",
     xlab = "% Ingreso Nacional Bruto")

cat("\n4.2\nHipotesis Nula: mas del 50% de los paises NO cumplen con el objetivo de no agotamiento de bosques.\n", "\nHipotesis alternativa: mas del 50% de los paises cumplen con el indice de no agotamiento de bosques\n","\n\n4.3 Test de una proporcion: ya que la variable a analizar en binaria de tipo cunple si o no, porque la pregunta de investigación se centra en verificar si la proporción de países que cumplen el objetivo supera el 50%. La variable de interés es dicotómica (cumple / no cumple) y se contrasta contra un valor fijo (50%) \n", "\n4.4 Aplicacion del test\n")
## 
## 4.2
## Hipotesis Nula: mas del 50% de los paises NO cumplen con el objetivo de no agotamiento de bosques.
##  
## Hipotesis alternativa: mas del 50% de los paises cumplen con el indice de no agotamiento de bosques
##  
## 
## 4.3 Test de una proporcion: ya que la variable a analizar en binaria de tipo cunple si o no, porque la pregunta de investigación se centra en verificar si la proporción de países que cumplen el objetivo supera el 50%. La variable de interés es dicotómica (cumple / no cumple) y se contrasta contra un valor fijo (50%) 
##  
## 4.4 Aplicacion del test
# Contamos cuántos países cumplen el objetivo (FOR <= 0)
n_cumplen <- sum(df_pr4$CumpleObjetivo)

# Sumamos el número total de países en el conjunto de datos
n_total <- nrow(df_pr4)

# Ejecutamos el test de proporción, Queremos comprobar si más del 50% de los países cumplen el objetivo
resultado_test <- prop.test(
  x = n_cumplen,        # número de cumplen 
  n = n_total,         # número total de países
  p = 0.5,             # proporción de referencia (50%)
  alternative = "greater", # hipótesis alternativa: proporción > 0.5
  correct = FALSE      # sin corrección de continuidad
)

# 4. Mostrar el resultado
print(resultado_test)
## 
##  1-sample proportions test without continuity correction
## 
## data:  n_cumplen out of n_total, null probability 0.5
## X-squared = 4.8395, df = 1, p-value = 0.01391
## alternative hypothesis: true p is greater than 0.5
## 95 percent confidence interval:
##  0.5218656 1.0000000
## sample estimates:
##         p 
## 0.5864198
cat("\n4.7 interpretacion:\n", "más del 50% de los países cumplen el objetivo de no agotar sus bosques (P-value < 0.05). La proporción estimada es del 58.6%, y el intervalo de confianza confirma que la mayoría supera el umbral del 50%.")
## 
## 4.7 interpretacion:
##  más del 50% de los países cumplen el objetivo de no agotar sus bosques (P-value < 0.05). La proporción estimada es del 58.6%, y el intervalo de confianza confirma que la mayoría supera el umbral del 50%.
cat("\n5. Tabla resumen:\n")
## 
## 5. Tabla resumen:
# Guardar los p-values de cada prueba
p_value_pr1 <- round(t_test_pr1$p.value, 5)
p_value_pr2 <- round(t_test_pr2$p.value, 5)
p_value_eur <- round(t_test_eur$p.value, 5)
p_value_pr3 <- round(p_val_manual, 5)
p_value_pr4 <- round(resultado_test$p.value, 5)

# Crear un data frame con los resultados básicos
conclusiones_df <- data.frame(
  PR = c("PR1", "PR2.1", "PR2.2","PR3", "PR4"),
  Pregunta = c(
    "Esperanza de vida (Alto vs. Resto)",
    "Desigualdad Global (2008 vs. 2018)",
    "Desigualdad Global (2008 vs. 2018, en la region de EUR y EEUU)",
    "GINI > 40 (Democracia vs. Autocracia)",
    "Bosques (<= 0) > 50%"
  ),
  Test = c(
    "T-test Indep. (Unilateral)",
    "T-test Emparejado (Unilateral)",
    "Test 2.1 Proporciones (Bilateral)",
    "Test 2.2 emparejado (unilateral)",
    "Test 1 Proporción (Unilateral)"
  ),
  P_value = c(p_value_pr1, p_value_pr2, p_value_eur, p_value_pr3, p_value_pr4)
)

# Agregar columna de decisión (rechazar H0 si p < 0.05)
conclusiones_df$H0_Rechazada <- ifelse(conclusiones_df$P_value < 0.05, "SÍ", "NO")

# Agregar columna de interpretación manualmente
conclusiones_df$Interpretacion <- c(
  "La esperanza de vida es mayor en países de altos ingresos.",
  "La desigualdad se redujo entre 2008 y 2018.",
  "No se puede rechazar la hipotesis nula, por ende no se puede afirmar que se redujo la desigualdad en la region de EUR y EEUU",
  "No hay diferencia significativa en la proporción de alta desigualdad.",
  "Más del 50% de los países cumplen el objetivo de bosques."
)

# Mostrar la tabla final
print(conclusiones_df)
##      PR                                                       Pregunta
## 1   PR1                             Esperanza de vida (Alto vs. Resto)
## 2 PR2.1                             Desigualdad Global (2008 vs. 2018)
## 3 PR2.2 Desigualdad Global (2008 vs. 2018, en la region de EUR y EEUU)
## 4   PR3                          GINI > 40 (Democracia vs. Autocracia)
## 5   PR4                                           Bosques (<= 0) > 50%
##                                Test P_value H0_Rechazada
## 1        T-test Indep. (Unilateral) 0.00000           SÍ
## 2    T-test Emparejado (Unilateral) 0.00542           SÍ
## 3 Test 2.1 Proporciones (Bilateral) 0.18214           NO
## 4  Test 2.2 emparejado (unilateral) 0.89048           NO
## 5    Test 1 Proporción (Unilateral) 0.01391           SÍ
##                                                                                                                 Interpretacion
## 1                                                                   La esperanza de vida es mayor en países de altos ingresos.
## 2                                                                                  La desigualdad se redujo entre 2008 y 2018.
## 3 No se puede rechazar la hipotesis nula, por ende no se puede afirmar que se redujo la desigualdad en la region de EUR y EEUU
## 4                                                        No hay diferencia significativa en la proporción de alta desigualdad.
## 5                                                                    Más del 50% de los países cumplen el objetivo de bosques.