Este bloque de código carga un archivo de datos en formato .sav y realiza una conversión inicial de una de sus columnas.
Función read_sav:
Proviene del paquete haven y se usa para leer archivos en formato SPSS (.sav), que es un formato común para datos estadísticos.
DATOS <- read_sav("C:/Users/johan/Downloads/EDIT_X_2019_2020/DATOS.sav")
DATOS$V121_num <- as.numeric(as.character(DATOS$V121))
## Warning: NAs introducidos por coerción
Se eliminan las filas donde el vector V121_num tiene valores faltantes (NA). Para poder eliminarlos, se necesita la función is.na, la cual se divide en tres secciones:
Función is.na:
Esta función se divide en tres partes:
DATOS <- DATOS[!is.na(DATOS$V121_num), ]
Se asegura que las columnas V120 y V121_num sean de tipo numérico, y se visualizan en un gráfico de dispersión.
Conversión:
La función as.numeric convierte los valores de las columnas a tipo numérico, esencial para análisis posteriores.
DATOS$V120 <- as.numeric(DATOS$V120)
DATOS$V121_num <- as.numeric(DATOS$V121_num)
plot(DATOS$V120, DATOS$V121_num,
xlab = "Monto invertido 2019 (lll1R1C1)",
ylab = "Monto invertido 2020 (lll1R1C2)")
Se imprime la verificación de que ambas columnas son numéricas.
Función is.numeric:
Comprueba si las columnas son numéricas, y print muestra el resultado de esta verificación.
print(is.numeric(DATOS$V120))
## [1] TRUE
print(is.numeric(DATOS$V121_num))
## [1] TRUE
Se realiza un test de correlación entre V120 y V121_num para determinar la fuerza y dirección de la relación entre ellas.
Función cor.test:
Realiza el test de correlación y devuelve un objeto con los resultados, incluyendo el coeficiente de correlación y el valor p.
cor_result <- cor.test(DATOS$V120, DATOS$V121_num)
print(cor_result)
##
## Pearson's product-moment correlation
##
## data: DATOS$V120 and DATOS$V121_num
## t = 77.761, df = 1976, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.8568734 0.8786159
## sample estimates:
## cor
## 0.8681606
Se ajusta un modelo de regresión lineal utilizando V120 como variable dependiente y V121_num como variable independiente.
Función lm:
lm(V120 ~ V121_num, data = DATOS): La función lm ajusta un modelo de regresión lineal. El parámetro data indica que los datos para este modelo están en el dataframe DATOS.
-V120 (Variable dependiente)
-V121_num (Variable independiente)
Función summary:
Modelo1 <- lm(V120 ~ V121_num, data = DATOS)
print(summary(Modelo1))
##
## Call:
## lm(formula = V120 ~ V121_num, data = DATOS)
##
## Residuals:
## Min 1Q Median 3Q Max
## -10628237 -124440 -90552 -71814 35943005
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.055e+04 4.500e+04 2.012 0.0443 *
## V121_num 1.056e+00 1.358e-02 77.761 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1948000 on 1976 degrees of freedom
## Multiple R-squared: 0.7537, Adjusted R-squared: 0.7536
## F-statistic: 6047 on 1 and 1976 DF, p-value: < 2.2e-16
Análisis
Coeficiente de correlación de Pearson (cor): El coeficiente obtenido es r=0.868, lo cual indica una correlación positiva fuerte entre las variables V120 y V121_num. Es decir, a medida que una aumenta, la otra tiende a aumentar también. Intervalo de confianza del 95%: El intervalo va de 0.8568 a 0.8786. Esto sugiere que estamos muy seguros de que la verdadera correlación poblacional está dentro de este rango, con un nivel de confianza del 95%. Prueba de hipótesis: La hipótesis nula (H0) es que la correlación es igual a 0 (no hay relación). El valor p es extremadamente pequeño (<2.2×10^-16), lo que permite rechazar la hipótesis nula con alto nivel de confianza. En consecuencia, la relación entre las variables es estadísticamente significativa.
Intercepto (β0): Valor estimado: 9.055×10^4. Pendiente (β1):Valor estimado: 1.056 Significancia (p-valor):
Para ambos coeficientes (β0 e β1 ), los valores p son muy bajos. Esto indica que ambos coeficientes son estadísticamente significativos
(coeficiente de determinación):Aproximadamente el 75.37% de la variabilidad en V120 es explicada por V121_num, lo que sugiere un ajuste relativamente bueno.
Error estándar de los residuos: Aproximadamente 1,948,000
Estadístico F=6047, con un valor p extremadamente bajo
Se imprimen los coeficientes estimados del modelo de regresión.
Acceso a coeficientes:
Modelo1$coefficients devuelve los coeficientes del modelo, que indican la relación entre las variables independientes y dependientes.
print(Modelo1$coefficients)
## (Intercept) V121_num
## 90552.363 1.056
##Agregar la línea de regresión al gráfico
Se crea nuevamente el gráfico de dispersión y se añade una línea de regresión.
Función abline:
Añade una línea de regresión al gráfico, utilizando los coeficientes del modelo. La línea se dibuja en color rojo (col=“red”).
plot(DATOS$V120, DATOS$V121_num,
xlab = "Monto invertido 2019 (lll1R1C1)",
ylab = "Monto invertido 2020 (lll1R1C2)")
abline(Modelo1, col="red")