library(readxl)
data <- read_excel("Datos_Mexico.xlsx")
View(data)MEXICO
Introducción al Análisis de Correlación y de Regresión Lineal
setwd(“C:\Users\Garciadaniel\Desktop\ARGENTINA”)
#Carga de base de datos
Análisis de Data
#Visualización de primeras filas del dataset
head(data)# A tibble: 6 × 4
Año PIB_per_capita Inversion_extranjera_directa Gasto_publico_educacion
<dbl> <dbl> <dbl> <dbl>
1 2000 9582. 2.48 3.81
2 2001 9398. 3.78 4.03
3 2002 9242. 2.49 4.24
4 2003 9222. 2.37 4.83
5 2004 9421. 3.07 4.51
6 2005 9492. 2.74 4.63
#Comprobación de valores perdidos en las variables de interés
sum(is.na(data$PIB_per_capita))[1] 0
sum(is.na(data$Inversion_extranjera_directa))[1] 0
sum(is.na(data$Gasto_publico_educacion))[1] 0
Análisis de Correlación
# Cáculo de correlación de Pearson entre PIB per cápita e Inversión Extranjera Directa
correlacion <- cor(data$PIB_per_capita, data$Inversion_extranjera_directa, use = "complete.obs")cat("El coeficiente de correlación de Pearson entre PIB per cápita e Inversión Extranjera Directa es:", correlacion)El coeficiente de correlación de Pearson entre PIB per cápita e Inversión Extranjera Directa es: -0.006654014
Este valor se encuentra muy cercano a cero, lo que indica que no existe una relación lineal significativa entre ambas variables en la muestra analizada.
library(ggplot2)Gráfico de dispersión - PIB per cápita
ggplot(data, aes(x = Año, y = PIB_per_capita)) +
geom_point(color = "blue", alpha = 0.5) + # Puntos del gráfico
geom_smooth(method = "lm", color = "red", se = FALSE) + # Línea de regresión lineal
labs(title = "PIB per cápita",
x = "Años",
y = "PIB per cápita - precios constantes") +
theme_minimal()`geom_smooth()` using formula = 'y ~ x'
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
datos_numericos <- select(data, PIB_per_capita, Inversion_extranjera_directa, Gasto_publico_educacion)Matriz de correlaciones
matriz_cor <- cor(datos_numericos, use = "complete.obs")print(matriz_cor) PIB_per_capita Inversion_extranjera_directa
PIB_per_capita 1.000000000 -0.006654014
Inversion_extranjera_directa -0.006654014 1.000000000
Gasto_publico_educacion -0.175931162 -0.251276274
Gasto_publico_educacion
PIB_per_capita -0.1759312
Inversion_extranjera_directa -0.2512763
Gasto_publico_educacion 1.0000000
Función para cálculo de correlaciones y p-valores
cor_matriz_pval <- function(data) {
n <- ncol(data)
matriz_pval <- matrix(NA, n, n)
rownames(matriz_pval) <- colnames(data)
colnames(matriz_pval) <- colnames(data)
for (i in 1:n) {
for (j in 1:n) {
matriz_pval[i, j] <- cor.test(data[[i]], data[[j]], use = "complete.obs")$p.value
}
}
return(matriz_pval)
}#Aplicación a las variables numéricas
p_values <- cor_matriz_pval(datos_numericos)#Matriz de p-valores
print(p_values) PIB_per_capita Inversion_extranjera_directa
PIB_per_capita 1.088022e-173 0.9753829
Inversion_extranjera_directa 9.753829e-01 0.0000000
Gasto_publico_educacion 4.108973e-01 0.2362535
Gasto_publico_educacion
PIB_per_capita 0.4108973
Inversion_extranjera_directa 0.2362535
Gasto_publico_educacion 0.0000000
Matriz de correlaciones
#ggcorrplot
library(ggcorrplot)
ggcorrplot(matriz_cor, lab = TRUE, hc.order = F, type = "lower",
lab_size = 2,tl.cex = 8)#corrplot
library(corrplot)corrplot 0.95 loaded
corrplot(matriz_cor, method = "color", type = "lower",
addCoef.col = "black", tl.col = "blue",number.cex = 0.5,
tl.cex = 0.4, cl.cex = 0.4)Análisis de regresión lineal
modelo <- lm(PIB_per_capita ~Inversion_extranjera_directa, data = data)summary(modelo)
Call:
lm(formula = PIB_per_capita ~ Inversion_extranjera_directa, data = data)
Residuals:
Min 1Q Median 3Q Max
-648.33 -302.18 40.44 294.01 578.19
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 9730.905 349.736 27.824 <2e-16 ***
Inversion_extranjera_directa -4.058 130.029 -0.031 0.975
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 365.3 on 22 degrees of freedom
Multiple R-squared: 4.428e-05, Adjusted R-squared: -0.04541
F-statistic: 0.0009741 on 1 and 22 DF, p-value: 0.9754
Modelo de predicción
predicciones <- predict(modelo)data.frame(predicciones) predicciones
1 9720.852
2 9715.581
3 9720.813
4 9721.279
5 9718.453
6 9719.776
7 9722.103
8 9719.485
9 9720.510
10 9722.452
11 9719.698
12 9723.015
13 9725.010
14 9715.335
15 9722.447
16 9718.780
17 9716.712
18 9719.619
19 9718.676
20 9721.586
21 9719.492
22 9719.987
23 9720.062
24 9724.052
Modelo de regresión lineal multivariado
modelo2 <- lm(PIB_per_capita ~Inversion_extranjera_directa+Gasto_publico_educacion, data = data)summary(modelo2)
Call:
lm(formula = PIB_per_capita ~ Inversion_extranjera_directa +
Gasto_publico_educacion, data = data)
Residuals:
Min 1Q Median 3Q Max
-581.0 -288.4 61.9 273.1 510.5
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 10714.60 1202.61 8.909 1.41e-08 ***
Inversion_extranjera_directa -33.11 135.17 -0.245 0.809
Gasto_publico_educacion -200.14 233.97 -0.855 0.402
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 367.5 on 21 degrees of freedom
Multiple R-squared: 0.03371, Adjusted R-squared: -0.05831
F-statistic: 0.3663 on 2 and 21 DF, p-value: 0.6976
Análisis: Los resultados indican que ninguna de las variables explicativas es estadísticamente significativa al 5% de nivel de confianza. El coeficiente asociado a la inversión extranjera directa fue de -33.11 (p = 0.809), mientras que el del gasto público en educación fue de -200.14 (p = 0.402). Esto sugiere que, dentro del marco del modelo especificado y la muestra analizada, no se evidencia una relación lineal significativa entre estas variables y el PIB per cápita.
La magnitud negativa de los coeficientes, aunque no significativa, podría estar reflejando la presencia de efectos rezagados, externalidades negativas no controladas o una posible mala asignación de recursos. Asimismo, la falta de significancia podría deberse a limitaciones del modelo, como la omisión de variables relevantes, bajo tamaño muestral o colinealidad entre los regresores.
Cálculo del VIF
Inversion_extranjera_directa Gasto_publico_educacion 1.067395 1.067395
Los valores de VIF cercanos a 1 indican que no existe multicolinealidad entre las variables independientes del modelo. Por tanto, no hay distorsión significativa en las estimaciones de los coeficientes debido a redundancia o dependencia lineal entre las variables explicativas.
Se utiliza el modelo para predecir el PIB per capita con las dos variables
predicciones2 <- predict(modelo2)data.frame(predicciones2) predicciones2
1 9870.304
2 9782.737
3 9783.049
4 9668.864
5 9709.968
6 9696.364
7 9743.523
8 9724.956
9 9707.921
10 9655.068
11 9635.085
12 9668.726
13 9689.124
14 9685.221
15 9631.264
16 9604.790
17 9646.538
18 9742.396
19 9786.354
20 9773.957
21 9720.732
22 9775.020
23 9775.632
24 9808.182