#getwd()
#setwd("")
library(rio)
= import("./data/s14/ACOSO_2019.sav") data
14 Regresión lineal múltiple II
NOTA: argumentar con datos
Ejemplo 1: Determinates del acoso callejero.
¿QUÉ DETERMINA LOS EVENTOS DE ACOSO CALLEJERO?
ACOSO CALLEJEROR -> # de eventos de acisi callejero que sufrio una persona.
VD -> # de eventos de acoso callejero ->
VI -> edad (numérica) (EDAD) Sexo (Dicotómica) (SEXO) Nivel socioeconómico (NSEGRUP)
names(data) # lectura de la base de datos
[1] "SERIE" "NVONRO" "NSEGRUP" "NSE"
[5] "SEXO" "GEDAD" "EDAD" "NIVEDU"
[9] "P10A" "P10B" "P10C" "P11A"
[13] "P11B" "P11C" "P12A" "P12B"
[17] "P12C" "P12D" "P12E" "P12F"
[21] "P12G" "P12H" "P13A" "P13B"
[25] "P13C" "P13D" "P13E" "P13F"
[29] "P13G" "P13H" "indiceAC" "indiceAC_dico"
class(data$EDAD)
[1] "numeric"
class(data$SEXO)
[1] "numeric"
class(data$NSEGRUP)
[1] "numeric"
str(data$EDAD)
num [1:680] 52 48 62 37 34 60 26 18 38 39 ...
- attr(*, "format.spss")= chr "F8.2"
str(data$SEXO)
num [1:680] 2 1 2 2 1 1 2 1 1 2 ...
- attr(*, "format.spss")= chr "F8.2"
str(data$NSEGRUP)
num [1:680] 3 2 3 2 2 1 2 1 1 1 ...
- attr(*, "format.spss")= chr "F8.2"
table(data$EDAD)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
20 20 19 15 19 10 13 19 11 8 19 24 27 7 14 12 8 14 15 10 18 11 16 12 17 18
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
17 21 11 11 14 3 12 8 10 11 10 8 7 4 5 6 14 7 9 6 10 8 8 5 3 4
70 71 72 73 74 75 76 77 78 79 80 82 83 84 85 89 90
9 3 5 1 5 7 3 3 3 2 2 2 2 2 1 1 1
table(data$SEXO)
1 2
326 354
table(data$NSEGRUP)
1 2 3
163 330 187
+ SEXO (Está como numérica)
$SEXO<-as.factor(data$SEXO) # NECESITAMOS CONVERTIRLO A FACTOR de numérica
datalevels(data$SEXO)<-c("Hombre","Mujer")
# OTRO CÓDIGO PARA CORRER SI NO FUNCIONA el anterior:
# data$SEXO=factor(data$SEXO, levels = levels(data$SEXO),
# labels = c("Hombre","Mujer"))
table(data$SEXO)
Hombre Mujer
326 354
+ NIVEL SOCIECONÓMICO (NSEGRUP) (hacer esto en una variable categorica ordinal independiente)
es una variable ordinal, pero la vamos a definir como una variable factor con tres niveles
$NSEGRUP = as.factor(data$NSEGRUP)
data$NSEGRUP = factor(data$NSEGRUP, levels = levels(data$NSEGRUP),
datalabels = c("AB", "C", "DE"))
table(data$NSEGRUP)
AB C DE
163 330 187
####RECORDAR: |
---|
1 A/B 2 C 3 D/D |
CONVERTIR A UNA VARIABLE EN DUMMY (1 Y 0) / DICOTOMIZACIÓN: EN CASOS DONDE LA VARIABLE CATEGORICA TENGA MÁS DE 2 CATEGORIAS ES CONVENIENTE CONVERTIRLA EN TANTO EL NUMERO DE CATEOGRIAS TENGA COMO VARIABLES DICOTOMICAS QUE PODAMOS GENERAR ->
14.1 AHORA SON 3 VARIABLES DICOTÓMICAS:
NSE_A/B NSE_C NSE_D/E
SÍ 1 1 1 NO 0 0 0 —————————— Es más sencillo interpretarlo así -> como dicotomica (tambien cuando es numerica)
NOTA: Cuando tenemos variables independientes categoricas de más de dos grupos, (si está en numérica) LA VOLVEMOS A FACTOR y LUEGO LA CONVERTIMOS EN VARIABLES DUMMY.
Por ejemplo:
Diría usted que… ¿es más riesgoso para un hombre, para una mujer o es igual de riesgoso para ambos?
(POLITÓMICA) P11A: ——– 1 Hombre 2 Mujer 3 Ambos ——–
DICOTOMIZACIÓN:
14.2 AHORA SON 3 VARIABLES DICOTÓMICAS:
P11A_Hombre P11A_Mujer P11A_Ambos
SÍ 1 1 1 NO 0 0 0 ——————————
NOTA –> DEPENDE UTILIZAR LA DICOTOMIZACIÓN
POR EJEMPLO: ORDINAL DE 4 CATEGORIAS ¿Qué tan seguro(a) o inseguro(a) se siente usted caminando en la calle…
14.3 P10A
1 Muy seguro(a) 2 Seguro(a) 3 Inseguro(a) 4 Muy inseguro(a) ——–
DICOTOMIZACIÓN:
14.4 AHORA SON 4 VARIABLES DICOTÓMICAS:
P10A_Muy seguro(a) P10A_seguro(a) P10A_Inseguro(a) P10A_Muy inseguro(a)
SÍ 1 1 1 1 NO 0 0 0 0 ——————————————————————————————
SI LO HACEMOS ASÍ PODEMOS DISTINGUIR Y COMPARAR MEJOR LAS VARIABLES. Si nos interesa disintguir entre -> P10A_Inseguro(a) y P10A_Muy inseguro(a) ver la base de datos si hay mucha diferencia entre las variables y así usar esta forma o la siguiente:
PERO… SI SOLO ME INTERESA SEGURIDAD E INSEGURIDAD -> TAMBIÉN PODEMOS CONVERTIRLOS EN 2 GRUPOS DE VARIABLES DICOTOMICAS:
14.5 ENTONCES:
| P10A_Muy seguro(a)/P10A_seguro(a) | P10A_Inseguro(a)/P10A_Muy inseguro(a) | SÍ | 1 | 1 | NO | 0 | 0 |
———————————————————————————-
###ESTO SE LLAMA TRATAMIENTO DE LA BASE.
Continuando…
Dicotomizaremos NSEGRUP:
library(fastDummies)
=dummy_cols(data, select_columns = c("SEXO", "NSEGRUP"))
datanames(data)
[1] "SERIE" "NVONRO" "NSEGRUP" "NSE"
[5] "SEXO" "GEDAD" "EDAD" "NIVEDU"
[9] "P10A" "P10B" "P10C" "P11A"
[13] "P11B" "P11C" "P12A" "P12B"
[17] "P12C" "P12D" "P12E" "P12F"
[21] "P12G" "P12H" "P13A" "P13B"
[25] "P13C" "P13D" "P13E" "P13F"
[29] "P13G" "P13H" "indiceAC" "indiceAC_dico"
[33] "SEXO_Hombre" "SEXO_Mujer" "NSEGRUP_AB" "NSEGRUP_C"
[37] "NSEGRUP_DE"
CREAMOS LA VARIABLE DEPENDIENTE (ÍNDICE DE ACOSO):
<- data$P12A+data$P12B+data$P12C+data$P12D+data$P12E+data$P12F+data$P12G+data$P12H
ACOSO
$ACOSO <- data$P12A+data$P12B+data$P12C+data$P12D+data$P12E+data$P12F+data$P12G+data$P12H #Para crear como variable independiente (VariablesSeleccionadas)
data
summary(ACOSO)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.000 0.000 0.000 1.465 3.000 8.000 1
<-lm(ACOSO ~ EDAD + SEXO + NSEGRUP, data = data)
modelo1
summary(modelo1)
Call:
lm(formula = ACOSO ~ EDAD + SEXO + NSEGRUP, data = data)
Residuals:
Min 1Q Median 3Q Max
-3.3776 -1.2631 -0.4456 0.8324 8.1582
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.529154 0.237491 10.649 <2e-16 ***
EDAD -0.040254 0.004143 -9.715 <2e-16 ***
SEXOMujer 1.653558 0.138687 11.923 <2e-16 ***
NSEGRUPC -0.352581 0.172819 -2.040 0.0417 *
NSEGRUPDE -0.264426 0.193368 -1.367 0.1719
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.801 on 674 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.2633, Adjusted R-squared: 0.2589
F-statistic: 60.22 on 4 and 674 DF, p-value: < 2.2e-16
IDENTIFICAMOS: NSEGRUPC -0.352581 NSEGRUPDE -0.264426
¿cómo interpreto de cómo influye C, D o E?
SEXOMujer 1.653558 -> CUANDO UNA Persona es mujer, en comparacion de ser hombre, aumenta el numero de eventos de acaso callejero en 1.653558 eventos (casi dos eventos).
R está tomando como referencia al valor menor (Hombre), por ello, NO aparece en la tabla 1: Hombre 2: Mujer
En el caso de NSEGRUP se toma como referencia a NSEGRUP_A 1: A
por eso compara “C” con “A” y “DE” con “A”
ENTONCES, SI QUEREMOS TOMAR COMO REFERENCIA A LA MUJER -> especificamos:
REFERENCIA CON LA MUJER Y CON NIVEL SOCIOECONOMICO NSEGRUP_C + NSEGRUP_AB (O SEA, EL VALOR DE REFERENCIA ES EL QUE NO SE COLOCA EN EL CODIGO)
<- lm(ACOSO ~ EDAD + SEXO_Hombre + NSEGRUP_C + NSEGRUP_AB, data = data)
modelo2
summary(modelo2)
Call:
lm(formula = ACOSO ~ EDAD + SEXO_Hombre + NSEGRUP_C + NSEGRUP_AB,
data = data)
Residuals:
Min 1Q Median 3Q Max
-3.3776 -1.2631 -0.4456 0.8324 8.1582
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.918286 0.228369 17.158 <2e-16 ***
EDAD -0.040254 0.004143 -9.715 <2e-16 ***
SEXO_Hombre -1.653558 0.138687 -11.923 <2e-16 ***
NSEGRUP_C -0.088155 0.165477 -0.533 0.594
NSEGRUP_AB 0.264426 0.193368 1.367 0.172
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.801 on 674 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.2633, Adjusted R-squared: 0.2589
F-statistic: 60.22 on 4 and 674 DF, p-value: < 2.2e-16
LA DIFERENCIA ENTRE EL MODELO 1 Y modelo2 es la interpretacion:
SEXO_Hombre -1.653558
NSEGRUP_C -0.088155
NSEGRUP_AB 0.264426
- CUANDO UNA Persona es hombre, en comparación de ser mujer, disminuye el numero de eventos de acaso callejero en 1.653558 eventos (casi dos eventos).
LA DOS NO SON SIGNIFICATIVAS (P-value mayor a 0.05), pero vemos el sentido:
Cuando una persona es hombre, en comparación de ser mujer, y es parte del grupo socioeconomico C, disminuye el numero de eventos de acaso callejero en 0.088155 eventos.
Cuando una persona es hombre, en comparación de ser mujer, y es parte del grupo socioeconomico A/B, aumenta el numero de eventos de acaso callejero en 0.264426 eventos.
- ¿Qué sucede si aumento la variable caminar en la noche (seguridad)¿ -> P10B
table(data$P10B)
1 2 3 4
4 28 289 359
1 = muy seguro 4 = muy inseguro ——————————————————————————- NO HACER -> si lo considramos como numerica, cuando interpretamos sería dificil
<- lm(ACOSO ~ P10B, data = data)
modelo3
summary(modelo3)
Call:
lm(formula = ACOSO ~ P10B, data = data)
Residuals:
Min 1Q Median 3Q Max
-1.594 -1.594 -1.349 1.406 6.651
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.6133 0.4666 1.314 0.1891
P10B 0.2453 0.1323 1.854 0.0642 .
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.089 on 677 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.005051, Adjusted R-squared: 0.003582
F-statistic: 3.437 on 1 and 677 DF, p-value: 0.06419
¿CÓMO SE INTERPRETARÍA? + POR CADA NIVEL QUE UNA PERSONA AUMENTA SU SENSACIÓN DE INSEGURIDAD, EL NUMERO DE EVENTOS DE ACASO AUMENTA EN 0.2453
——————————————-
ENTONCES, MEJOR DICOTOMIZAR:
en este caso,dicotimizar agrupando
1 -> Formateamos
str(data$P10B)
num [1:680] 4 3 3 4 4 4 1 3 2 4 ...
- attr(*, "format.spss")= chr "F8.2"
$P10B = as.numeric(data$P10B) data
- Recodificando
library(car)
$seguridad = recode(data$P10B, "c(1,2) = 'Seguro'; c(3,4) = 'Inseguro'") data
<- lm(ACOSO ~ seguridad, data = data)
modelo4
summary(modelo4)
Call:
lm(formula = ACOSO ~ seguridad, data = data)
Residuals:
Min 1Q Median 3Q Max
-1.504 -1.504 -1.504 1.496 6.496
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.50386 0.08205 18.33 <2e-16 ***
seguridadSeguro -0.81636 0.37794 -2.16 0.0311 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.087 on 677 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.006845, Adjusted R-squared: 0.005378
F-statistic: 4.666 on 1 and 677 DF, p-value: 0.03112
seguridadSeguro -0.81636
INTERPRETACIÓN:
cuando una persona se siente segura, en comparación de una persona que se siente insegura, disminuye el numero de eventos de acoso callejero en 0.81636.
Más fácil de interpretar
La recomendación es que las variables independientes sean numerica o dicotomicas. si no son dictomicas, debemos convertirlas.
- Ahora agregamos EDAD y SEXO:
<- lm(ACOSO ~ seguridad + EDAD + SEXO, data = data)
modelo5 summary(modelo5)
Call:
lm(formula = ACOSO ~ seguridad + EDAD + SEXO, data = data)
Residuals:
Min 1Q Median 3Q Max
-3.1415 -1.2696 -0.4685 0.8080 8.0048
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.305609 0.201179 11.461 <2e-16 ***
seguridadSeguro -0.567257 0.326975 -1.735 0.0832 .
EDAD -0.039834 0.004135 -9.634 <2e-16 ***
SEXOMujer 1.632584 0.138712 11.770 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.802 on 675 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.262, Adjusted R-squared: 0.2587
F-statistic: 79.87 on 3 and 675 DF, p-value: < 2.2e-16
el modelo sí es valido (p-value: < 2.2e-16)
explica el 26% de la variabilidad de los datos
si cada variable independiente influye:
seguridadSeguro 0.0832 .
EDAD <2e-16 *** SEXOMujer <2e-16
Ahora seguridad ya no es tan relevante. las otras dos sí.
RECORDAR: hay una relacion espurea y al incorporar otras variables, esa relacion desaparece -> como en este caso: en el modelo4, hay una relacion entre seguridad y numero de eventos. Pero al incorporar las nuevas variables en el nuevo modelo 5, dicha relación desaparece.
Por cada año que una persona aumenta su edad, el numero de eventos de acosos callejero disminuye en 0.039834 eventos.
VIENDO LOS COEFICIENTES ESTANDARIZADOS
#lm.beta(modelo5)
#Conlusión: (las variables que impactan más son EDAD y luego SEXO)
#INTERPRETACIÓN: + Entonces, la violencia no ocurre por igual entre hombres y mujeres. eN EFECTO, CUANDO HABLAMOS de acoso callejero, hay evidencia que corrobora que la muejres registra mayor numero de eventos de acoso callejero. Aun solamente por la condicion de ser mujer se incrementa en al menos (1.632584) 2 eventos de acoso callejero más que sus pares hombres. En lo que refiere a edad, son las muejeres más jovenes las que reciben mayor cantidad de eventos de acoso callejero. En suma, Mientras mas jóvenes y sean mujeres, son más propensas a sufrir MAYOR NUMERo de eventos de acoso callejero.
Tambien se ha indagado si el nivel sociecnomico es un factor, pero se ha encontrado de que no hay evidencia suficiente de que ocurra dependiendo el nivel sociecomonico. Es decor, estos acosos callejeros ocurre sin importar el numero de eventos de caso callejero.
Aun se ha evidenciado en el modelo4 una relacion espurea entre el sensación de seguridad de caminar en la calle y el numero de eventos de acoso callejeros. pero está relacion deja de exisitir cuando se agragan las variables EDAD y SEXO.
14.6 ¿Qué hacer en estas situaciones en las que tenemos varias variables y no sabemos cual influye más en otra?
¿Cuál de estas variables puede ayudarnos a explicar mejor la variable dependiente?
En general se suele decir, que impacta más las variables sociodemograficas (edad, sexo, Nivel sociecnomica…). Pero también pueden impactar otras variables.
RECORDAR -> SI PARTIMOS DESDE CERO -> CUANDO NO SE NOS DA NINGUNA VARIABLE INDEPENDIENTE, TENEMOS QUE BUSCARLAS.
ENTONCES,
- Realizar el analisis bivariado
- ensayar cuales serian las variables independientes. …
HAY MÉTODOS PARA SELECCIONAR QUÉ VARIABLES INDEPENDIENTES SON MEJORES. ADEMÁS NO DEBEN ESTAR RELACIONADAS ENTRE SI. FORWARD (IR CONSTRUYENDO) COLOCANDO VARIABLES POR VARIABLE BACKWARD (COLOCAS TODAS LAS VARAIBLES Y LUEGO VAN ELIMINANDO LAS QUE NO SON SIGNFICATIVAS)
14.7 1. UTILIZANDO EL MÉTODO
- Filtrando y creando nueva base:
= c("ACOSO", "SEXO_Mujer", "NIVEDU", "NSEGRUP",
VariablesSeleccionadas "NSEGRUP_AB", "NSEGRUP_DE", "seguridad", "EDAD")
= data[VariablesSeleccionadas] subdata
- INSTALAR y definimos el modelo
library(MASS)
#ModeloCompleto -> Con todas las variables
<- lm(ACOSO ~ ., data = subdata)
full.model summary(full.model)
Call:
lm(formula = ACOSO ~ ., data = subdata)
Residuals:
Min 1Q Median 3Q Max
-3.1780 -1.2673 -0.4725 0.8406 8.0352
Coefficients: (2 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.00002 0.48747 4.103 4.58e-05 ***
SEXO_Mujer 1.65965 0.13964 11.886 < 2e-16 ***
NIVEDU 0.06269 0.04683 1.339 0.1811
NSEGRUPC -0.22737 0.19813 -1.148 0.2516
NSEGRUPDE -0.06188 0.24797 -0.250 0.8030
NSEGRUP_AB NA NA NA NA
NSEGRUP_DE NA NA NA NA
seguridadSeguro -0.57372 0.32631 -1.758 0.0792 .
EDAD -0.03874 0.00429 -9.030 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.798 on 672 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.2687, Adjusted R-squared: 0.2621
F-statistic: 41.14 on 6 and 672 DF, p-value: < 2.2e-16
14.8 2. MODELO HACIA ADELANTE (Forward) + summary
<- stepAIC(full.model, direction = "forward",
model.hacia.delante trace = TRUE)
Start: AIC=803.31
ACOSO ~ SEXO_Mujer + NIVEDU + NSEGRUP + NSEGRUP_AB + NSEGRUP_DE +
seguridad + EDAD
summary(model.hacia.delante)
Call:
lm(formula = ACOSO ~ SEXO_Mujer + NIVEDU + NSEGRUP + NSEGRUP_AB +
NSEGRUP_DE + seguridad + EDAD, data = subdata)
Residuals:
Min 1Q Median 3Q Max
-3.1780 -1.2673 -0.4725 0.8406 8.0352
Coefficients: (2 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.00002 0.48747 4.103 4.58e-05 ***
SEXO_Mujer 1.65965 0.13964 11.886 < 2e-16 ***
NIVEDU 0.06269 0.04683 1.339 0.1811
NSEGRUPC -0.22737 0.19813 -1.148 0.2516
NSEGRUPDE -0.06188 0.24797 -0.250 0.8030
NSEGRUP_AB NA NA NA NA
NSEGRUP_DE NA NA NA NA
seguridadSeguro -0.57372 0.32631 -1.758 0.0792 .
EDAD -0.03874 0.00429 -9.030 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.798 on 672 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.2687, Adjusted R-squared: 0.2621
F-statistic: 41.14 on 6 and 672 DF, p-value: < 2.2e-16
14.9 3. HACIA ATRÁS (Backward)+ summary
<- stepAIC(full.model, direction = "backward",
model.hacia.atras trace = TRUE)
Start: AIC=803.31
ACOSO ~ SEXO_Mujer + NIVEDU + NSEGRUP + NSEGRUP_AB + NSEGRUP_DE +
seguridad + EDAD
Step: AIC=803.31
ACOSO ~ SEXO_Mujer + NIVEDU + NSEGRUP + NSEGRUP_AB + seguridad +
EDAD
Step: AIC=803.31
ACOSO ~ SEXO_Mujer + NIVEDU + NSEGRUP + seguridad + EDAD
Df Sum of Sq RSS AIC
- NSEGRUP 2 6.39 2177.7 801.30
- NIVEDU 1 5.79 2177.1 803.12
<none> 2171.3 803.31
- seguridad 1 9.99 2181.3 804.43
- EDAD 1 263.48 2434.8 879.08
- SEXO_Mujer 1 456.45 2627.8 930.87
Step: AIC=801.3
ACOSO ~ SEXO_Mujer + NIVEDU + seguridad + EDAD
Df Sum of Sq RSS AIC
<none> 2177.7 801.30
- seguridad 1 9.79 2187.5 802.35
- NIVEDU 1 13.45 2191.1 803.49
- EDAD 1 263.76 2441.4 876.93
- SEXO_Mujer 1 462.11 2639.8 929.97
summary(model.hacia.atras)
Call:
lm(formula = ACOSO ~ SEXO_Mujer + NIVEDU + seguridad + EDAD,
data = subdata)
Residuals:
Min 1Q Median 3Q Max
-3.0796 -1.2638 -0.4384 0.8233 7.9170
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 1.772577 0.329427 5.381 1.02e-07 ***
SEXO_Mujer 1.667982 0.139472 11.959 < 2e-16 ***
NIVEDU 0.074118 0.036323 2.041 0.0417 *
seguridadSeguro -0.567958 0.326212 -1.741 0.0821 .
EDAD -0.038075 0.004214 -9.035 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 1.797 on 674 degrees of freedom
(1 observation deleted due to missingness)
Multiple R-squared: 0.2665, Adjusted R-squared: 0.2622
F-statistic: 61.22 on 4 and 674 DF, p-value: < 2.2e-16
- ¿CUAL SERIA EL MEJOR MODELO EN BASE A LAS VARIABLES INDEPENDIENTES?
El mejor modelo que explica: - CON ESTE CÓDIGO NO NECESITAMOS CREAR UNA SUBDATA
library(leaps)
= regsubsets(
modelo ~ SEXO + EDAD + seguridad + NIVEDU + NSEGRUP_AB + NSEGRUP_DE,
ACOSO data = data, nbest = 1, nvmax = 10)
summary(modelo)
Subset selection object
Call: regsubsets.formula(ACOSO ~ SEXO + EDAD + seguridad + NIVEDU +
NSEGRUP_AB + NSEGRUP_DE, data = data, nbest = 1, nvmax = 10)
6 Variables (and intercept)
Forced in Forced out
SEXOMujer FALSE FALSE
EDAD FALSE FALSE
seguridadSeguro FALSE FALSE
NIVEDU FALSE FALSE
NSEGRUP_AB FALSE FALSE
NSEGRUP_DE FALSE FALSE
1 subsets of each size up to 6
Selection Algorithm: exhaustive
SEXOMujer EDAD seguridadSeguro NIVEDU NSEGRUP_AB NSEGRUP_DE
1 ( 1 ) "*" " " " " " " " " " "
2 ( 1 ) "*" "*" " " " " " " " "
3 ( 1 ) "*" "*" " " "*" " " " "
4 ( 1 ) "*" "*" "*" "*" " " " "
5 ( 1 ) "*" "*" "*" "*" "*" " "
6 ( 1 ) "*" "*" "*" "*" "*" "*"
- fijarnos en el asterisco:
- Por ejemplo, la variable SEXO es significativo en todos los modelos
Código para el gráfico
#plot(x, labels=obj$xnames, main=NULL,
#scale=c("bic", "Cp", "adjr2", "r2"),
#col=gray(seq(0, 0.9, length = 10)),...)