# LIBRERÍAS NECESARIAS PARA TODO EL SCRIPT
library(dplyr)           # Manipulación de datos
## Warning: package 'dplyr' was built under R version 4.4.2
## 
## 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(ggplot2)         # Gráficos
## Warning: package 'ggplot2' was built under R version 4.4.2
library(modelsummary)    # Tablas de regresión
## Warning: package 'modelsummary' was built under R version 4.4.2
library(kableExtra)      # Mejorar visualización de tablas en HTML/LaTeX
## Warning: package 'kableExtra' was built under R version 4.4.3
## 
## Adjuntando el paquete: 'kableExtra'
## The following object is masked from 'package:dplyr':
## 
##     group_rows
library(lm.beta)         # Coeficientes estandarizados en regresión lineal
## Warning: package 'lm.beta' was built under R version 4.4.3
library(sjPlot)          # Gráficos de modelos
## Warning: package 'sjPlot' was built under R version 4.4.3
library(magrittr)        # Pipes %>% y estilo de código
library(knitr)           # Para generar tablas con kable()
library(lmtest)          # Test estadísticos como Breusch-Pagan y LR Test
## Cargando paquete requerido: zoo
## 
## Adjuntando el paquete: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(DescTools)       # Para VIF y otros diagnósticos
## Warning: package 'DescTools' was built under R version 4.4.2
## 
## Adjuntando el paquete: 'DescTools'
## The following objects are masked from 'package:modelsummary':
## 
##     Format, Mean, Median, N, SD, Var
library(AER)             # Para test de sobre/infra dispersión
## Warning: package 'AER' was built under R version 4.4.2
## Cargando paquete requerido: car
## Warning: package 'car' was built under R version 4.4.3
## Cargando paquete requerido: carData
## 
## Adjuntando el paquete: 'car'
## The following object is masked from 'package:DescTools':
## 
##     Recode
## The following object is masked from 'package:dplyr':
## 
##     recode
## Cargando paquete requerido: sandwich
## Cargando paquete requerido: survival
## Warning: package 'survival' was built under R version 4.4.2
library(MASS)            # Para regresión binomial negativa (glm.nb)
## Warning: package 'MASS' was built under R version 4.4.2
## 
## Adjuntando el paquete: 'MASS'
## The following object is masked from 'package:dplyr':
## 
##     select
library(dotwhisker)      # Para graficar coeficientes (dwplot)
## Warning: package 'dotwhisker' was built under R version 4.4.2
library(margins)         # Para efectos marginales promedio en logística
## Warning: package 'margins' was built under R version 4.4.3
library(survival)        # Para regresión Cox
library(survminer)       # Para gráficos Kaplan-Meier y forest plot en Cox
## Warning: package 'survminer' was built under R version 4.4.3
## Cargando paquete requerido: ggpubr
## Warning: package 'ggpubr' was built under R version 4.4.2
## 
## Adjuntando el paquete: 'survminer'
## The following object is masked from 'package:survival':
## 
##     myeloma
library (rio)
youth= read.csv("https://docs.google.com/spreadsheets/d/e/2PACX-1vRd4xjF3rFwMzpvOQ00NW-GlMwqaDR-TpLtIyD-pjPWZnc6lW2XP5JpFVoQikSn9W7hr4KZqhKd2nd2/pub?output=csv")
t_mobile= read.csv ("https://docs.google.com/spreadsheets/d/e/2PACX-1vQDtSZ27auUI2kmuDOSXjwdCzuTJ5zC1kVK3G0TQaluOW757c1QWKaoky1vpxnHT7HPnWqDIrXbtluH/pub?gid=2007480666&single=true&output=csv")
t_fixed= read.csv ("https://docs.google.com/spreadsheets/d/e/2PACX-1vSTyvoKzYxo2hqLFX5PZhAZa5FcBd2dkDU5m5CIk0yoJf0s7zua3u3DyH3vRIu4oSshHeEtF1mJ8Fqn/pub?output=csv")
public_debt= read.csv ("https://docs.google.com/spreadsheets/d/e/2PACX-1vQHIFncMGb6i26UzQ-1l96zHEM8C6cbqEgm1LpZKkwsMUjXmBVSF2ePqzvWhOWlBNFk84JQ6Z20n9kw/pub?output=csv")
inflation= read.csv ("https://docs.google.com/spreadsheets/d/e/2PACX-1vQHGQUCWvV9OOdkvCpI0jrMvH7iz86R-5qdWNbn3oNNZZPQXCOhgdPL2QaoMNCHTh0O_sxPMjWyi6wF/pub?output=csv")
energycon= read.csv ("https://docs.google.com/spreadsheets/d/e/2PACX-1vTHaTfQNDqohM4q0KOCHWd2jtxmUobQIQfpE2SCNaGr-tfYcN9ifwnalMhFcQ00YaBPLgc8V5u7rVhb/pub?output=csv")
electri= read.csv ("https://docs.google.com/spreadsheets/d/e/2PACX-1vQDIyHLBbEnFXiqtztGG7uC3PLIw5KcNyAlgzU8d9Vm1emqxA_SshO28_UgFuNJ3O3L8gUoidjCNfMM/pub?output=csv")
debt_ext= read.csv("https://docs.google.com/spreadsheets/d/e/2PACX-1vTJdxsH8fhPSrB2LAH4We52E2sEnEUysJ2LuXwa8DUv4OM7-uDpgNABaWn0BngG66IJU9BO4vBvYFiT/pub?output=csv")
co2= read.csv("https://docs.google.com/spreadsheets/d/e/2PACX-1vRWq2gYjO7F2H91Uugh7ffEIi1sukKyxZVVUNxwqTGDj2Ujw8NsG3IXqGhIc7cKyL2kewK2K_xgC7Q9/pub?output=csv")
broad= read.csv ("https://docs.google.com/spreadsheets/d/e/2PACX-1vTRCTnX64ZyF_KOec0o-ibFzLDD6BLPoRQmxPVCt5ggKG9_rg5AbTSCuf5ktv3mks7WkPULlOiKtR6t/pub?output=csv")

library(dplyr)
library(purrr)
## 
## Adjuntando el paquete: 'purrr'
## The following object is masked from 'package:car':
## 
##     some
## The following object is masked from 'package:magrittr':
## 
##     set_names
# Lista de data frames
listas_df <- list(youth, t_mobile, t_fixed, public_debt, inflation,
                  energycon, electri, debt_ext, co2, broad)

# Usamos inner_join para conservar solo las coincidencias comunes
merged_all <- reduce(listas_df, inner_join, by = "name")
str(merged_all)
## 'data.frame':    119 obs. of  11 variables:
##  $ name      : chr  "Djibouti" "South Africa" "Eswatini" "Botswana" ...
##  $ youth     : num  76.3 60.9 58.2 43.9 41.7 41.4 40.1 40 37.5 36 ...
##  $ mobile    : chr  "574,00" "108,000,000" "1,520,000" "4,440,000" ...
##  $ value     : chr  "29,00" "1,353,000" "42,00" "90,00" ...
##  $ X..of.GDP : chr  "45.900,00" "76.2" "36.2" "45.827,00" ...
##  $ inflation : chr  "45.778,00" "45.751,00" "45.810,00" "45.871,00" ...
##  $ Btu.person: chr  "10,428,000" "86,197,000" "18,823,000" "32,443,000" ...
##  $ kW        : chr  "210,00" "65,989,000" "285,00" "758,00" ...
##  $ Debt      : chr  "2,531,000,000" "93,879,000,000" "923,266,000" "1,761,000,000" ...
##  $ CO2       : chr  "685,00" "446,704,000" "1,326,000" "5,897,000" ...
##  $ broad     : chr  "17,00" "2,150,000" "34,00" "85,00" ...
# Lista de columnas a convertir
cols_to_convert <- c("mobile", "value", "X..of.GDP", "inflation", 
                     "Btu.person", "kW", "Debt", "CO2", "broad")

# Aplicamos limpieza y conversión a numérica
merged_all[cols_to_convert] <- lapply(merged_all[cols_to_convert], function(x) {
  x <- gsub(",", "", x)          # Quitamos comas
  as.numeric(x)                  # Convertimos a numérico
})
str(merged_all)
## 'data.frame':    119 obs. of  11 variables:
##  $ name      : chr  "Djibouti" "South Africa" "Eswatini" "Botswana" ...
##  $ youth     : num  76.3 60.9 58.2 43.9 41.7 41.4 40.1 40 37.5 36 ...
##  $ mobile    : num  5.74e+04 1.08e+08 1.52e+06 4.44e+06 7.73e+06 1.03e+04 1.64e+07 5.87e+06 7.32e+06 3.00e+06 ...
##  $ value     : num  2900 1353000 4200 9000 45100 ...
##  $ X..of.GDP : num  45.9 76.2 36.2 45.8 103.1 ...
##  $ inflation : num  45.8 45.8 45.8 45.9 45.7 ...
##  $ Btu.person: num  10428000 86197000 18823000 32443000 32909000 ...
##  $ kW        : num  21000 65989000 28500 75800 6891000 ...
##  $ Debt      : num  2.53e+09 9.39e+10 9.23e+08 1.76e+09 2.11e+10 ...
##  $ CO2       : num  6.85e+04 4.47e+08 1.33e+06 5.90e+06 2.24e+07 ...
##  $ broad     : num  1700 2150000 3400 8500 80500 3100 1730000 7800 3500 8000 ...
summary(merged_all)
##      name               youth           mobile              value          
##  Length:119         Min.   : 0.30   Min.   :6.400e+03   Min.   :        0  
##  Class :character   1st Qu.: 6.45   1st Qu.:3.570e+06   1st Qu.:     4000  
##  Mode  :character   Median :11.90   Median :1.180e+07   Median :    27800  
##                     Mean   :16.12   Mean   :5.915e+07   Mean   :  3437271  
##                     3rd Qu.:22.90   3rd Qu.:3.975e+07   3rd Qu.:  1393500  
##                     Max.   :76.30   Max.   :1.810e+09   Max.   :173326000  
##    X..of.GDP          inflation         Btu.person              kW           
##  Min.   :   31.40   Min.   :  -6.60   Min.   :    64900   Min.   :2.900e+03  
##  1st Qu.:   45.71   1st Qu.:  45.69   1st Qu.:  6538000   1st Qu.:4.885e+04  
##  Median :   55.60   Median :  45.78   Median : 19999000   Median :2.853e+06  
##  Mean   :  803.59   Mean   :  87.80   Mean   : 33587050   Mean   :4.394e+07  
##  3rd Qu.:   82.10   3rd Qu.:  45.87   3rd Qu.: 46783500   3rd Qu.:8.410e+06  
##  Max.   :11100.00   Max.   :1700.00   Max.   :261142000   Max.   :2.949e+09  
##       Debt                CO2                broad          
##  Min.   :1.593e+08   Min.   :1.460e+04   Min.   :        0  
##  1st Qu.:2.641e+09   1st Qu.:2.648e+06   1st Qu.:     3200  
##  Median :6.759e+09   Median :8.694e+06   Median :    37700  
##  Mean   :2.955e+10   Mean   :2.015e+08   Mean   :  8375214  
##  3rd Qu.:2.557e+10   3rd Qu.:3.588e+07   3rd Qu.:  1870000  
##  Max.   :4.881e+11   Max.   :1.220e+10   Max.   :636000000
str(merged_all)
## 'data.frame':    119 obs. of  11 variables:
##  $ name      : chr  "Djibouti" "South Africa" "Eswatini" "Botswana" ...
##  $ youth     : num  76.3 60.9 58.2 43.9 41.7 41.4 40.1 40 37.5 36 ...
##  $ mobile    : num  5.74e+04 1.08e+08 1.52e+06 4.44e+06 7.73e+06 1.03e+04 1.64e+07 5.87e+06 7.32e+06 3.00e+06 ...
##  $ value     : num  2900 1353000 4200 9000 45100 ...
##  $ X..of.GDP : num  45.9 76.2 36.2 45.8 103.1 ...
##  $ inflation : num  45.8 45.8 45.8 45.9 45.7 ...
##  $ Btu.person: num  10428000 86197000 18823000 32443000 32909000 ...
##  $ kW        : num  21000 65989000 28500 75800 6891000 ...
##  $ Debt      : num  2.53e+09 9.39e+10 9.23e+08 1.76e+09 2.11e+10 ...
##  $ CO2       : num  6.85e+04 4.47e+08 1.33e+06 5.90e+06 2.24e+07 ...
##  $ broad     : num  1700 2150000 3400 8500 80500 3100 1730000 7800 3500 8000 ...
reg1=lm( youth~mobile+value+Btu.person+kW+CO2+broad,data=merged_all)
summary(reg1)
## 
## Call:
## lm(formula = youth ~ mobile + value + Btu.person + kW + CO2 + 
##     broad, data = merged_all)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -19.033  -9.610  -3.545   6.856  59.923 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.616e+01  1.849e+00   8.743 2.59e-14 ***
## mobile      -3.261e-08  2.602e-08  -1.253    0.213    
## value       -1.423e-08  4.103e-07  -0.035    0.972    
## Btu.person   2.069e-08  3.700e-08   0.559    0.577    
## kW           1.141e-07  1.059e-07   1.077    0.284    
## CO2         -2.481e-09  1.538e-08  -0.161    0.872    
## broad       -3.911e-07  3.151e-07  -1.241    0.217    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 13.45 on 112 degrees of freedom
## Multiple R-squared:  0.02933,    Adjusted R-squared:  -0.02267 
## F-statistic: 0.564 on 6 and 112 DF,  p-value: 0.7582
reg2=lm( X..of.GDP~mobile+value+Btu.person+kW+CO2+broad,data=merged_all)
summary(reg2)
## 
## Call:
## lm(formula = X..of.GDP ~ mobile + value + Btu.person + kW + CO2 + 
##     broad, data = merged_all)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1452.7  -737.9  -710.0  -644.8 10380.6 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)  
## (Intercept)  7.986e+02  3.057e+02   2.613   0.0102 *
## mobile      -5.697e-07  4.304e-06  -0.132   0.8949  
## value        1.799e-05  6.784e-05   0.265   0.7913  
## Btu.person  -1.381e-06  6.118e-06  -0.226   0.8218  
## kW           3.998e-06  1.751e-05   0.228   0.8198  
## CO2         -5.329e-07  2.543e-06  -0.210   0.8344  
## broad       -5.389e-06  5.211e-05  -0.103   0.9178  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2225 on 112 degrees of freedom
## Multiple R-squared:  0.02758,    Adjusted R-squared:  -0.02451 
## F-statistic: 0.5295 on 6 and 112 DF,  p-value: 0.7849
reg3=lm( inflation ~mobile+value+Btu.person+kW+CO2+broad,data=merged_all)
summary(reg3)
## 
## Call:
## lm(formula = inflation ~ mobile + value + Btu.person + kW + CO2 + 
##     broad, data = merged_all)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -182.00  -47.54  -35.05  -26.86 1629.12 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)  
## (Intercept)  6.910e+01  2.706e+01   2.554    0.012 *
## mobile       1.538e-07  3.809e-07   0.404    0.687  
## value       -4.605e-06  6.005e-06  -0.767    0.445  
## Btu.person   5.071e-07  5.416e-07   0.936    0.351  
## kW           1.020e-06  1.550e-06   0.658    0.512  
## CO2         -4.439e-08  2.251e-07  -0.197    0.844  
## broad       -3.280e-06  4.613e-06  -0.711    0.479  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 196.9 on 112 degrees of freedom
## Multiple R-squared:  0.03833,    Adjusted R-squared:  -0.01319 
## F-statistic: 0.744 on 6 and 112 DF,  p-value: 0.6154

RPTA: Cuando usa inflacion como dependiente, fixlines y CO2 tienen efecto inverso sobre ésta.