library(readxl)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
V. dependiente:
V. predictoras cuantitativas:
resumen <- read_excel('Resumen-Censo-EEUU-1977.xlsx')
datos <- data.frame(Y = resumen$c2, X1 = resumen$c4, X2 = resumen$c5)
lm(Y ~ ., data = datos) -> modelo1
modelo1 |> summary()
##
## Call:
## lm(formula = Y ~ ., data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.8107 -0.7552 -0.0488 0.8261 3.4771
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 71.2845193 1.4494040 49.182 < 2e-16 ***
## X1 0.0002243 0.0002846 0.788 0.434610
## X2 -1.1972067 0.2868833 -4.173 0.000129 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.101 on 47 degrees of freedom
## Multiple R-squared: 0.3548, Adjusted R-squared: 0.3274
## F-statistic: 12.92 on 2 and 47 DF, p-value: 3.368e-05
Categorizando la variable ingreso en 4 niveles
| Categorías | R1 | R2 |
|---|---|---|
| C1 [3000-4000> | 0 | 0 |
| C2 [4000-5000> | 1 | 0 |
| C3 [5000-A mas> | 0 | 1 |
categorias <- cut(datos$X1, breaks = c(3000, 4000, 5000, Inf),labels = c("I1", "I2", "I3"))
datos2 <- data.frame("Y"=datos$Y,"R"=categorias,"X2"=datos$X2)
lm(Y ~ ., data = datos2) -> modelo2
modelo2 |> summary()
##
## Call:
## lm(formula = Y ~ ., data = datos2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.2848 -0.7724 0.0235 0.8105 3.1548
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 71.5305 0.6035 118.535 < 2e-16 ***
## RI2 0.8237 0.4267 1.930 0.05974 .
## RI3 0.2866 0.5316 0.539 0.59235
## X2 -1.0047 0.3023 -3.324 0.00175 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.07 on 46 degrees of freedom
## Multiple R-squared: 0.4038, Adjusted R-squared: 0.365
## F-statistic: 10.39 on 3 and 46 DF, p-value: 2.452e-05
anova1 <- anova(lm(Y ~ cbind(X1,X2), data = datos))
anova1
## Analysis of Variance Table
##
## Response: Y
## Df Sum Sq Mean Sq F value Pr(>F)
## cbind(X1, X2) 2 31.331 15.6656 12.925 3.368e-05 ***
## Residuals 47 56.968 1.2121
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
anova2 <- anova(modelo2)
anova2
## Analysis of Variance Table
##
## Response: Y
## Df Sum Sq Mean Sq F value Pr(>F)
## R 2 23.015 11.5074 10.056 0.0002383 ***
## X2 1 12.644 12.6438 11.049 0.0017478 **
## Residuals 46 52.640 1.1444
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
valorp <- 1-pf(10.3865,3,46); valorp
## [1] 2.452873e-05
Modelo 1
| FV | GL | SC | CM | Fcalc | Pvalor |
|---|---|---|---|---|---|
| Regresion | 2 | 31.331 | 15.6656 | 12.925 | 3.368e-05 |
| Error | 47 | 56.968 | 1.2121 | ||
| Total | 49 | 56.968 |
Modelo 2
| FV | GL | SC | CM | Fcalc | Pvalor |
|---|---|---|---|---|---|
| Regresion | 3 | 35.659 | 11.8863 | 10.3865 | 2.452e-05 |
| Error | 46 | 52.640 | 1.1444 | ||
| Total | 49 | 88.299 |
Diferencias:
En el modelo 2 los grados de libertad del error disminuyen en 1 en comparación del modelo 1 y la fuente de regresión va tener 3gl debido a la categorizacion.
La SCE disminuyen y la SCR aumenta en el modelo 2.
El CME y el CMR disminuyen en el modelo 2.
Semejanzas
Ambos modelos tienen un valor-p muy pequeño en comparación a un alfa = 1%.
Ambos resultados validarían la prueba de hipótesis global rechazando la hipótesis nula.
H0: Todos los betas son iguales a cero
H1: Al menos un beta es diferente de cero