Este bloque de código carga paquetes en R como dplyr, ggplot2, etc., y usa suppressWarnings() y suppressPackageStartupMessages() para ocultar advertencias y mensajes al cargar los paquetes, manteniendo la consola más limpia.
El siguiente código carga un archivo .dta (formato Stata) desde una ruta específica usando read_dta(), lo guarda en el objeto base_p, y luego muestra un mensaje en la consola confirmando que la carga fue exitosa.
grow: Representa la tasa de crecimiento anual del PIB de Argentina, expresada en porcentaje. Indica si la economía se expandió o contrajo en un año determinado.
infl: Mide la tasa de inflación anual, en porcentaje. Refleja el aumento general de precios y el nivel de estabilidad económica.
inv: Corresponde a la inversión total como porcentaje del PIB. Indica qué parte de la producción se destinó a bienes de capital.
x: Representa las exportaciones como porcentaje del PIB. Muestra el grado de apertura comercial hacia el exterior.
m: Indica las importaciones como porcentaje del PIB. Refleja la dependencia del país de bienes y servicios externos.
debt: Mide la deuda externa total como porcentaje del PIB. Permite observar el nivel de endeudamiento internacional del país.
4 Tratamiento de de la base de datos
Este código filtra la base de datos base_p para quedarse solo con las filas donde la variable pais contiene a Argentina, y guarda el resultado en base_arg. Luego, head(base_arg) muestra las primeras filas de esa base filtrada.
Este código convierte las variables categóricas de base_arg en factores (as_factor()), luego crea dos nuevas variables:
xneta (exportaciones netas), que es la resta de x (exportaciones) menos m (importaciones),
linflacion, que es el logaritmo natural de 1+inflación/100.
Después, head(base_arg) muestra las primeras filas con las nuevas variables.
ver código
base_arg <- base_arg %>%as_factor() %>%mutate(xneta = x - m, linflacion =log(1+infl/100))head(base_arg)
# A tibble: 6 × 10
pais año grow infl inv x m debt xneta linflacion
<fct> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Argentina 1980 -0.0296 87.6 25.3 5.06 6.48 12.6 -1.42 0.629
2 Argentina 1981 -6.67 131. 22.7 6.92 7.37 21.3 -0.451 0.839
3 Argentina 1982 -2.31 210. 21.8 9.09 6.52 36.0 2.57 1.13
4 Argentina 1983 2.68 434. 20.9 9.15 5.84 46.7 3.32 1.67
5 Argentina 1984 -0.0518 688 20.0 7.59 4.76 40.5 2.83 2.06
6 Argentina 1985 -6.69 385. 17.6 11.7 6.27 60.5 5.46 1.58
Luego se observa si existen observaciones ausentes en la nueva base de datos.
ver código
colSums(is.na(base_arg))
pais año grow infl inv x m
0 0 0 0 0 0 0
debt xneta linflacion
0 0 0
5 Correlación de la variables
La Gráfica 1 representa la relación entre la inflación y el crecimiento económico en Argentina, utilizando una transformación logarítmica para la variable de inflación. El coeficiente de correlación (r=−0.39) indica una relación negativa moderada entre estas dos variables. Esto significa que, en general, a medida que aumenta la inflación (en su forma logarítmica), tiende a disminuir el crecimiento económico, y viceversa.
El valor de r=−0.39 sugiere que la correlación no es extremadamente fuerte, pero sí significativa. Una correlación negativa en este contexto podría reflejar que altos niveles de inflación suelen estar asociados con un menor crecimiento, posiblemente debido a la incertidumbre económica, la distorsión de precios o la reducción del poder adquisitivo de los consumidores. Sin embargo, es importante recordar que la correlación no implica causalidad, por lo que otros factores no considerados en este gráfico podrían estar influyendo en esta relación.
ver código
# Filtrar solo datos de Argentinabase_arg <-subset(base_p, pais ==6)# Crear variables derivadas de forma segurabase_arg <- base_arg %>%mutate(pais =as_factor(pais), # Solo convertir 'pais' a factor (si lo necesitas)xneta = x - m,linflacion =log(1+ infl /100) )# Calcular correlación (omitiendo NAs)correlacion <-cor(base_arg$grow, base_arg$linflacion, use ="complete.obs")# Gráfico de dispersión con valor de correlación anotadoggplot(base_arg, aes(x = linflacion, y = grow)) +geom_point(color ="steelblue", alpha =0.6) +geom_smooth(method ="lm", se =FALSE, color ="darkred") +annotate("text", x =2, y =5, label =paste0("r = ", round(correlacion, 3)), hjust =1.1, vjust =1.5, size =5, color ="black") +labs(title ="Gráfica 1:",subtitle ="Relación entre inflación y crecimiento en Argentina",x ="Inflación (log transformada)",y ="Crecimiento (grow)") +theme_minimal()
`geom_smooth()` using formula = 'y ~ x'
6 Matriz de Correlación Multivariante
La matriz de correlación presentada en la Gráfica 2 analiza las relaciones entre diversas variables económicas, mostrando tanto los coeficientes de correlación como sus respectivos p-valores. Entre los hallazgos más destacados se observa una correlación negativa moderada entre la inflación y el crecimiento económico (r=−0.39,p=0.013), confirmando que, en Argentina, niveles más altos de inflación tienden a asociarse con un menor crecimiento. Este resultado es estadísticamente significativo, ya que el p-valor es menor a 0.05, reforzando la idea de que la inflación podría actuar como un obstaculo para el desarrollo económico.
Por otro lado, se identifican correlaciones positivas fuertes y significativas entre algunas variables, como por ejemplo (debt) deuda y (xneta) exportaciones netas (r=0.75, p=0.000), indicando una relación directa entre estos factores. También resalta la correlación negativa entre (xneta) exportaciones netas e (inv) inversión neta (r=−0.35, p=0.026), señalando que un aumento en una de estas variables podría estar vinculado a una disminución en la otra. Sin embargo, otras correlaciones, como las que involucran la (debt) deuda con otras varaibles, no son significativas (p>0.05).
Es asi que, mientras algunas relaciones son claras y estadísticamente sólidas, como el vínculo negativo entre inflación y crecimiento, otras carecen de significancia estadística. Estos resultados subrayan la importancia de considerar múltiples factores y su contexto al interpretar las dinámicas económicas, evitando conclusiones simplistas basadas en correlaciones aisladas.
ver código
# Función para calcular correlaciones y p-valorescor_with_pval <-function(data, vars) { n <-length(vars) cor_matrix <-matrix(NA, n, n, dimnames =list(vars, vars)) pval_matrix <-matrix(NA, n, n, dimnames =list(vars, vars))for (i in1:n) {for (j in1:n) {if (i == j) { cor_matrix[i, j] <-1 pval_matrix[i, j] <-0 } else { test <-cor.test(data[[vars[i]]], data[[vars[j]]], use ="complete.obs") cor_matrix[i, j] <- test$estimate pval_matrix[i, j] <- test$p.value } } }list(cor_matrix = cor_matrix, pval_matrix = pval_matrix)}# Seleccionar las variables de interés desde base.argvariables <- base_arg[, c("grow", "linflacion", "inv", "xneta", "debt")]# Calcular correlaciones y p-valoresresult <-cor_with_pval(variables, c("grow", "linflacion", "inv", "xneta", "debt"))cor_matrix <- result$cor_matrixpval_matrix <- result$pval_matrix# Convertir matrices en formato largo para ggplot2cor_melted <-melt(cor_matrix, varnames =c("Var1", "Var2"), value.name ="correlation")pval_melted <-melt(pval_matrix, varnames =c("Var1", "Var2"), value.name ="pvalue")# Combinar correlaciones y p-valorescor_melted$pvalue <- pval_melted$pvaluecor_melted$label <-sprintf("%.2f\n(p=%.3f)", cor_melted$correlation, cor_melted$pvalue)cor_melted$significant <- cor_melted$pvalue <0.05# Marcar correlaciones significativas (p < 0.05)# Crear el mapa de calor con ggplot2ggplot(data = cor_melted, aes(x = Var1, y = Var2, fill = correlation)) +geom_tile(color ="white") +scale_fill_gradient2(low ="blue", high ="red", mid ="white", midpoint =0, limit =c(-1, 1), space ="Lab", name ="Correlación") +theme_minimal() +theme(axis.text.x =element_text(angle =45, vjust =1, hjust =1)) +coord_fixed() +geom_text(aes(label = label, color = significant), size =3) +scale_color_manual(values =c("black", "red"), guide =FALSE) +# Resaltar p < 0.05 en rojolabs(title ="Gráfico 2:",subtitle ="Matriz de Correlación con P-valores",x ="", y ="")
Warning: The `guide` argument in `scale_*()` cannot be `FALSE`. This was deprecated in
ggplot2 3.3.4.
ℹ Please use "none" instead.
7 Modelo de Regresión Lineal
El modelo de regresión lineal (Tabla 1) evalúa el impacto de la inflación (en logaritmos) sobre el crecimiento económico en Argentina. Los resultados muestran una relación negativa y estadísticamente significativa entre ambas variables. El coeficiente de la inflación es de -2.522 (p=0.013), lo que indica que un aumento del 1% en la tasa de inflación se asocia con una reducción aproximada de 0.025 puntos porcentuales en el crecimiento económico. Este efecto sugiere que aumentos proporcionales en la inflación afectan negativamente el desempeño económico, probablemente debido a la incertidumbre que generan.
El intercepto del modelo (2.027, p=0.041) representa la tasa de crecimiento esperada cuando la inflación es igual a 1 (log(1) = 0), aunque este caso es poco realista. En conjunto, el modelo es estadísticamente significativo (p=0.013 para el estadístico F), respaldando el papel de la inflación como un determinante relevante del crecimiento económico.
A pesar de estas relaciones significativas, el poder explicativo del modelo es relativamente bajo (R²=0.152), determinado que solo el 15.2% de las variaciones en el crecimiento económico pueden atribuirse a cambios en la inflación. Este bajo porcentaje indica que existen otros factores relevantes -como el tipo de cambio, las políticas fiscales o las condiciones externas- que también influyen en el crecimiento pero que no son incluidos en este análisis. El error estándar residual de 5.094 puntos porcentuales refleja una dispersión considerable de los datos alrededor de la línea de regresión, reforzando la idea de que el crecimiento económico está sujeto a múltiples determinantes (Tabla 2).
ver código
# Ajustar modelomodelo1 <-lm(grow ~ linflacion, data = base_arg)# --- 1. Tabla de coeficientes ---tabla_coef <-tidy(modelo1)tabla_coef |>kable(digits =3,caption ="Tabla 1. Coeficientes del modelo de regresión lineal") |>kable_styling(bootstrap_options =c("striped", "hover", "condensed"),full_width =FALSE)
Tabla 1. Coeficientes del modelo de regresión lineal
# 1. Crear un nuevo data frame con 6 valores de linflacionnuevos_datos <-data.frame(linflacion =c(2, 4, 6, 8, 10, 12))# 2. Predecir usando el modelopredicciones <-predict(modelo1, newdata = nuevos_datos, interval ="confidence")# 3. Combinar en un solo data frametabla_predicciones <-cbind(nuevos_datos, predicciones)# 4. Mostrar tabla elegante con kablelibrary(kableExtra)tabla_predicciones |>kable(digits =2,caption ="Tabla 3. Predicciones del crecimiento según la inflación",col.names =c("Inflación (%)", "Predicción", "Límite inferior", "Límite superior")) |>kable_styling(bootstrap_options =c("striped", "hover", "condensed"), full_width =FALSE)
Tabla 3. Predicciones del crecimiento según la inflación
Inflación (%)
Predicción
Límite inferior
Límite superior
2
-3.02
-6.31
0.27
4
-8.06
-15.02
-1.10
6
-13.11
-23.90
-2.31
8
-18.15
-32.82
-3.48
10
-23.19
-41.76
-4.63
12
-28.24
-50.70
-5.78
8 Regresión Múltiple
El modelo de regresión múltiple (Tabla 4) examina cómo cuatro variables clave - inflación (en logaritmos), inversión, exportaciones netas y deuda - afectan el crecimiento económico (medido en porcentaje). Los resultados muestran relaciones estadísticamente significativas que tienen importantes implicaciones para la política económica.
La inflación muestra una fuerte relación negativa con el crecimiento económico, con un coeficiente de -2.217 (p = 0.000). Esto indica que un aumento del 1% relativo en la tasa de inflación (por ejemplo, de 20.00% a 20.20%) está asociado con una disminución de aproximadamente 0.022 puntos porcentuales en la tasa de crecimiento económico, manteniendo constantes los demás factores. Este efecto negativo subraya la importancia de mantener la estabilidad de precios para favorecer el crecimiento.
Por otro lado, tanto la inversión como las exportaciones netas presentan impactos positivos significativos sobre el crecimiento. Un incremento de una unidad en la inversión está asociado con un aumento de 0.346 puntos porcentuales en la tasa de crecimiento (p=0.000), mientras que las exportaciones netas muestran un efecto positivo más moderado de 0.117 puntos porcentuales (p=0.019). Estos resultados sugieren que políticas que fomenten la inversión productiva y las exportaciones pueden ser efectivas para estimular el crecimiento económico. En contraste, el nivel de deuda no muestra un efecto estadísticamente significativo (p=0.265), lo que podría indicar que su impacto depende de otros factores no considerados en este modelo.
El modelo en su conjunto es estadísticamente significativo (p=0.000) y explica aproximadamente el 23.4% de la variación en las tasas de crecimiento económico (R²=0.234). Aunque este poder explicativo es moderado, representa una mejora sustancial respecto a modelos más simples. El error estándar residual de 3.466 puntos porcentuales indica que, si bien el modelo es útil, existe una variación considerable en el crecimiento que no es capturada por estas variables.
ver código
base_p <- base_p %>%as_factor() %>%mutate(xneta = x - m, linflacion =log(1+infl/100))modelo2 <-lm(grow ~ linflacion + inv + xneta + debt, data = base_p)library(broom)library(kableExtra)tabla_coef2 <-tidy(modelo2)tabla_coef2 |>kable(digits =3,caption ="Tabla 4. Coeficientes del modelo de regresión múltiple") |>kable_styling(bootstrap_options =c("striped", "hover", "condensed"),full_width =FALSE)
Tabla 4. Coeficientes del modelo de regresión múltiple
El análisis de los Factores de Inflación de la Varianza (VIF) en la Tabla 6 permiten evaluar la presencia de multicolinealidad entre las variables independientes del modelo de regresión múltiple. Los resultados muestran valores de VIF notablemente bajos para todas las variables: inflación logarítmica (1.13), inversión (1.41), exportaciones netas (1.05) y deuda (1.50). Estos valores, todos significativamente menores que el umbral conservador de 5 (y muy por debajo del valor crítico de 10), indican que no existe un problema de multicolinealidad relevante en el modelo.
La ausencia de multicolinealidad es un resultado importante porque garantiza que los coeficientes estimados en la regresión son estables y confiables. En particular, el VIF extremadamente bajo de las exportaciones netas (1.05) y la inflación (1.13) sugiere que estas variables aportan información independiente al modelo. Aunque la deuda muestra el VIF más alto (1.50), este valor sigue siendo muy bajo y no representa ninguna amenaza para la validez de las estimaciones. Esta condición de independencia entre los predictores permite interpretar con mayor confianza los efectos individuales de cada variable sobre el crecimiento económico, sin preocupaciones por distorsiones en los coeficientes debido a relaciones lineales entre las variables explicativas.