load("C:/Users/RMLAB116/Downloads/datos_parcial (1).RData")
modelo_teengamb <- lm(formula = income ~ sex + status + verbal + gamble, data = teengamb)
library(stargazer)
stargazer(modelo_teengamb, type = "text", title = "Modelo de estimacion de los ingresos")
##
## Modelo de estimacion de los ingresos
## ===============================================
## Dependent variable:
## ---------------------------
## income
## -----------------------------------------------
## sex 0.090
## (1.072)
##
## status -0.063*
## (0.032)
##
## verbal 0.247
## (0.265)
##
## gamble 0.072***
## (0.015)
##
## Constant 4.411**
## (2.003)
##
## -----------------------------------------------
## Observations 47
## R2 0.458
## Adjusted R2 0.407
## Residual Std. Error 2.736 (df = 42)
## F Statistic 8.877*** (df = 4; 42)
## ===============================================
## Note: *p<0.1; **p<0.05; ***p<0.01
# Intervalo de confianza del 98.72% para "verbal" en relación a "income"
confint_verbal <- confint(modelo_teengamb, "verbal", level = 0.9872)
# Verificando si existe una relación lineal
confint_verbal
## 0.64 % 99.36 %
## verbal -0.4422842 0.9354915
if (confint_verbal[1] > 0 && confint_verbal[2] > 0 || confint_verbal[1] < 0 && confint_verbal[2] < 0) {
print("El intervalo de confianza no incluye el cero: hay una relación lineal parcial entre verbal e income")
} else {
print("El intervalo de confianza incluye cero: no hay relación lineal parcial entre verbal e income")
}
## [1] "El intervalo de confianza incluye cero: no hay relación lineal parcial entre verbal e income"
# Intervalo de confianza del 98.72% para "gamble" en relación a "income"
confint_gamble <- confint(modelo_teengamb, "gamble", level = 0.9872)
# Verificando si existe una relación lineal
confint_gamble
## 0.64 % 99.36 %
## gamble 0.03337493 0.1109079
if (confint_gamble[1] > 0 && confint_gamble[2] > 0 || confint_gamble[1] < 0 && confint_gamble[2] < 0) {
print("El intervalo de confianza no incluye el cero: hay una relación lineal parcial entre gamble e income")
} else {
print("El intervalo de confianza incluye cero: no hay relación lineal parcial entre gamble e income")
}
## [1] "El intervalo de confianza no incluye el cero: hay una relación lineal parcial entre gamble e income"
# ¿ Hay evidencia de que estas variables tienen una relacion con los ingresos? Si, ya que ambas son intervalos positivos que nos dan a conocer que hay una relacion positiva.
summary(modelo_teengamb)
##
## Call:
## lm(formula = income ~ sex + status + verbal + gamble, data = teengamb)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.9561 -1.9072 -0.6399 1.1958 7.1716
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.41097 2.00311 2.202 0.0332 *
## sex 0.09035 1.07210 0.084 0.9332
## status -0.06279 0.03250 -1.932 0.0601 .
## verbal 0.24660 0.26492 0.931 0.3572
## gamble 0.07214 0.01491 4.839 1.79e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.736 on 42 degrees of freedom
## Multiple R-squared: 0.4581, Adjusted R-squared: 0.4065
## F-statistic: 8.877 on 4 and 42 DF, p-value: 2.743e-05
Para imprimir los objetos, sólo se muestran las matrices de 5 por 5.
#construyendo las matrices m, p, a
matriz_x <- model.matrix(modelo_teengamb)
matriz_xx <- t(matriz_x) %*% matriz_x
#obteniendo la matriz A
matriz_a <- solve(matriz_xx) %*% t(matriz_x)
print(matriz_a[1:5,1:5])
## 1 2 3 4
## (Intercept) -0.1074542196 -2.196091e-02 0.0166636550 0.1071925261
## sex 0.0809403937 2.485496e-02 0.0546438428 0.0478553863
## status 0.0012534153 -1.991280e-03 0.0004440685 0.0004276380
## verbal 0.0053215827 1.872697e-02 -0.0052703695 -0.0181905266
## gamble 0.0002006996 -7.513551e-05 -0.0001277504 -0.0001794904
## 5
## (Intercept) -0.1997769992
## sex 0.1347212618
## status 0.0034635069
## verbal -0.0012648221
## gamble 0.0009505469
# obteniendo la matriz P
matriz_p <- matriz_x %*% matriz_a
print(matriz_p[1:5,1:5])
## 1 2 3 4 5
## 1 0.07998301 0.05115446 0.05179203 0.03133324 0.10146454
## 2 0.05115446 0.09695391 0.04157846 0.02149756 0.02180388
## 3 0.05179203 0.04157846 0.05611581 0.06172736 0.05550509
## 4 0.03133324 0.02149756 0.06172736 0.09294939 0.03380216
## 5 0.10146454 0.02180388 0.05550509 0.03380216 0.16858435
#obteniendo la matriz M
n <- nrow(matriz_x)
matriz_m <- diag(n) - matriz_p
print(matriz_m[1:5,1:5])
## 1 2 3 4 5
## 1 0.92001699 -0.05115446 -0.05179203 -0.03133324 -0.10146454
## 2 -0.05115446 0.90304609 -0.04157846 -0.02149756 -0.02180388
## 3 -0.05179203 -0.04157846 0.94388419 -0.06172736 -0.05550509
## 4 -0.03133324 -0.02149756 -0.06172736 0.90705061 -0.03380216
## 5 -0.10146454 -0.02180388 -0.05550509 -0.03380216 0.83141565