En este documento el lector encontrará todos los pasos seguidos por el autor del articulo para realizar el análisis de datos necesario para comporbar las hipótesis de investigación. Por todos los pasos se hace referencia a la bases de datos inicial (base de datos en bruto), selección de variables, adecuación de variables, estimación de modelos.
Si usted detecta algún error, tiene alguna sugerencia o requiere mayor información puede enviar un correo electrónico a shlondon8@gmail.com
Descargar las bases de datos correspondientes a los años 2011 y 2012, se encuentran en el siguiente sitio web http://www.gemconsortium.org/data/sets#baps. Descargar los siguientes archivos: GEM 2012 APS Global Individual Level Data y GEM 2011 APS Global Individual Level Data. Dichos archivos estan en formato .sav
El siguiente código permite leer o cargar dichas bases de datos, así como unirlas a partir de las variables necesarias para el análisis de datos.
#Libreria para leer archivos en formato .sav
library(foreign)
#Leer base de datos 2011
bdcompleta2011 <- read.spss("GEM 2011 APS Global - Individual Level Data.sav",
to.data.frame = TRUE)
#Leer base de datos 2012
bdcompleta2012 <- read.spss("GEM 2012 APS Global - Individual Level Data.sav",
to.data.frame = TRUE)
#Vector con las variables de interes
vec_sele <- c("futsup",
"age","gender","GEMEDUC","GEMWORK3","GEMHHINC",
"opport","suskill","fearfail",
"nbgoodc","nbstatus","knowent","nbmedia","country")
#Se selecciona de cada base de datos las variables de interes
bdcompleta2011 <- bdcompleta2011[,vec_sele]
bdcompleta2012 <- bdcompleta2012[,vec_sele]
#Se unen las bases de datos
bd <- rbind.data.frame(bdcompleta2011,bdcompleta2012)
Si se mira el nombre de las columnas de la nueva base de datos luego de la unión, este corresponde a la abreviación otorgada por el proyecto GEM a cada una de las variables medidas, para mayor información visitar http://www.gemconsortium.org/about/news. Tener en cuenta la siguiente convención ya que se expresan las abreviaciónes de las variables de interés utilizadas en los modelos estimados del artículo:
| Abreviacion | Nombre_Variable |
|---|---|
| futsup | IE |
| age | EDAD |
| gender | GENERO |
| GEMEDUC | EDUCACION |
| GEMWORK3 | ESTADOLABORAL |
| GEMHHINC | INGRESO |
| opport | OPORT |
| suskill | CONFIANZA |
| fearfail | MIEDOFRACASO |
| nbgoodc | CARRERADESEABLE |
| nbstatus | STATUS |
| knowent | CONOCEROTROS |
| nbmedia | DIVULGACION |
Para consultar la definición operacional de cada una de las variables así como los diferentes niveles y el nivel referencia de las variables cualitativas visitar el sitio web http://rpubs.com/Sahlre/ModelosyVariables.
La unión anterior produce una base de datos con las siguientes dimensiones
## [1] 361115 14
351115 observaciones y 14 variables. Son 14 variables ya que hay 13 variables de interés y 1 que hace referencia al país.
Luego se seleccionan las observaciones que correspondan al país Colombia
#Elegir observaciones relativas a Colombia
bd <- bd[bd$country=="Colombia",]
#Dimensiones de la base de datos final
dim(bd)
## [1] 18845 14
De esta manera la base de datos final posee un total de 18845 registros u observaciones.
Algunas variables deben ser transformadas con el propósito de obtener los mismos resultados reflejados en el artículo. Por ejemplo si se estima algún modelo con las variables tal cual están en la base de datos final (bd) sería complicado obtener exactamente los mismos resultados expuestos en el artículo, esto se debe a que los niveles de las variables cualitativas estan ordenados, por defecto, alfabéticamente y es complicado que este orden generado automáticamente coincida con el orden deseado del investigador.
El siguiente código realiza las transformaciones necesarias
#Se organizan los niveles de las variables cualitativas GEMEDUC, GEMWORK Y GEMHINC
#para obtener los mismos resultados de los modelos logisticos multivariados
#impresos en el documento
bd$GEMEDUC <- factor(bd$GEMEDUC,
levels = c("SECONDARY DEGREE","NONE", "SOME SECONDARY", "POST SECONDARY",
"GRAD EXP"))
bd$GEMWORK3 <- factor(bd$GEMWORK3,
levels = c("Retired students","Not working","Work:F-T, P-T"))
bd$GEMHHINC <- factor(bd$GEMHHINC,
levels = c("Middle 33%tile","Lowest 33%tile","Upper 33%tile"))
A continuación se encuentra el código que permite estimar los cinco modelos del artículo. Al final se crea una tabla que se asemeja a la tabla 1 del articulo aunque con mayor cantidad de información.
#Libreria con la función lrm() que calcula más estadísticos de evaluación de un modelo de
#regresión logística que la función glm(). Esos estadísticos serán necesarios para la construcción del Valor p de log likelihood ??^2 test y del estadístico Nagelkerke
library(rms)
#Modelo 1
m1 <- lrm(futsup ~ age + gender + GEMEDUC + GEMWORK3 + GEMHHINC + #Variables socioeconómicas
opport + suskill + fearfail + #Variables perceptuales
nbgoodc + nbstatus + knowent + nbmedia, #Variables de entorno
data = bd)
#Modelo 2
m2 <- lrm(futsup ~ gender*(age + GEMEDUC + GEMWORK3 + GEMHHINC), #Variables socioeconómicas
data = bd)
#Modelo 3
m3 <- lrm(futsup ~ gender*(opport + suskill + fearfail),
data = bd)
#Modelo 4
m4 <- lrm(futsup ~ gender*(nbgoodc + nbstatus + knowent + nbmedia), #Variables de entorno
data = bd)
#Modelo 5
m5 <- lrm(futsup ~ gender*(age +GEMEDUC + GEMWORK3 + GEMHHINC + #Variables socioeconómicas
opport + suskill + fearfail + #Variables perceptuales
nbgoodc + nbstatus + knowent + nbmedia), #Variables de entorno social
data = bd)
Los códigos que se presentarán a continuación permiten recrear una versión similar de la tabla 1 del artículo ya que por ejemplo el nombre de las variables y sus niveles están en inglés. Aunque en esta ocasión la tabla contiene mayor cantidad de información: se adiciona el error estándar de cada coeficiente, así como el valor p asociado a cada coeficiente.
En esta primer parte se recrea la parte final de la tabla 1 que se refiere al intercepto, el tamaño de muestra, el valor p de la prueba log likelihood Chi cuadrado, y las medidas de bondad de ajuste Negelkerke y porcentaje de predicciones correctas.
#Modelo 1
#Valor p de log likelihood ??^2 test
plog1 <- m1$stats["P"]
#Intercepto
inter1 <- m1$coefficients[1]
#Grados de libertad de log likelihood ??^2 test
gl1 <- m1$stats["d.f."]
#Negelkerke
Neg1 <- m1$stats["R2"]
#Tamaño de la muestra sobre la cual se estimo el modelo
n1 <- m1$stats["Obs"]
#Modelo 2
#Valor p de log likelihood ??^2 test
plog2 <- m2$stats["P"]
#Intercepto
inter2 <- m2$coefficients[1]
#Grados de libertad de log likelihood ??^2 test
gl2 <- m2$stats["d.f."]
#Negelkerke
Neg2 <- m2$stats["R2"]
#Tamaño de la muestra sobre la cual se estimo el modelo
n2 <- m2$stats["Obs"]
#Modelo 3
#Valor p de log likelihood ??^2 test
plog3 <- m3$stats["P"]
#Intercepto
inter3 <- m3$coefficients[1]
#Grados de libertad de log likelihood ??^2 test
gl3 <- m3$stats["d.f."]
#Negelkerke
Neg3 <- m3$stats["R2"]
#Tamaño de la muestra sobre la cual se estimo el modelo
n3 <- m3$stats["Obs"]
#Modelo 4
#Valor p de log likelihood ??^2 test
plog4 <- m4$stats["P"]
#Intercepto
inter4 <- m4$coefficients[1]
#Grados de libertad de log likelihood ??^2 test
gl4 <- m4$stats["d.f."]
#Negelkerke
Neg4 <- m4$stats["R2"]
#Tamano de la muestra sobre la cual se estimo el modelo
n4 <- m4$stats["Obs"]
#Modelo 5
#Valor p de log likelihood ??^2 test
plog5 <- m5$stats["P"]
#Intercepto
inter5 <- m5$coefficients[1]
#Grados de libertad de log likelihood ??^2 test
gl5 <- m5$stats["d.f."]
#Negelkerke
Neg5 <- m5$stats["R2"]
#Tamano de la muestra sobre la cual se estimo el modelo
n5 <- m5$stats["Obs"]
#Para el porcentaje de predicciones correctas se estiman nuevamente los cinco
#modelos con la función glm esto con el proposito de utilizar la función
#predict que permite calcular de forma eficiente las predicciones de un modelo
#a partir de una base de datos dada.
#Estos modelos serán utilizados para generar la estimación, error estándar y valor p
#de cada uno de los coeficientes de los cinco modelos
#Modelo 1 con la función glm
m1glm <- glm(futsup ~ age + gender + GEMEDUC + GEMWORK3 + GEMHHINC + #Variables socioeconómicas
opport + suskill + fearfail + #Variables perceptuales
nbgoodc + nbstatus + knowent + nbmedia, #Variables de entorno
family = "binomial",
data = bd)
#Porcentaje general de predicciones correctas.
bdnuevo <- bd[,c("age","gender", "GEMEDUC", "GEMWORK3", "GEMHHINC",
"opport","suskill","fearfail",
"nbgoodc", "nbstatus", "knowent", "nbmedia")]
bdnuevo$futsupP <- predict(m1glm,newdata=bdnuevo,type = "response")
bdnuevo$futsup <- bd$futsup
bdnuevo$futsupP2 <- ifelse(bdnuevo$futsupP >= 0.5, "Yes", "No")
d <- round(xtabs(~ futsupP2 + futsup, data = bdnuevo)/13371,4)
ppcm1 <-(d[1,1] + d[2,2])*100
#Modelo 2 con la función glm
m2glm <- glm(futsup ~ gender*(age + GEMEDUC + GEMWORK3 + GEMHHINC),#Variables socioeconómicas
family = "binomial",
data = bd)
#Porcentaje general de predicciones correctas.
bdnuevo <- bd[,c("age","gender", "GEMEDUC", "GEMWORK3", "GEMHHINC")]
bdnuevo$futsupP <- predict(m2glm,newdata=bdnuevo,type = "response")
bdnuevo$futsup <- bd$futsup
bdnuevo$futsupP2 <- ifelse(bdnuevo$futsupP >= 0.5, "Yes", "No")
d <- round(xtabs(~ futsupP2 + futsup, data = bdnuevo)/15087,4)
ppcm2 <- (d[1,1] + d[2,2])*100
#Modelo 3 con la función glm
m3glm <- glm(futsup ~ gender*(opport + suskill + fearfail), #Variables perceptuales
family = "binomial",
data = bd)
#Porcentaje general de predicciones correctas.
bdnuevo <- bd[,c("gender","opport","suskill","fearfail")]
bdnuevo$futsupP <- predict(m3glm,newdata=bdnuevo,type = "response")
bdnuevo$futsup <- bd$futsup
bdnuevo$futsupP2 <- ifelse(bdnuevo$futsupP >= 0.5, "Yes", "No")
d <- round(xtabs(~ futsupP2 + futsup, data = bdnuevo)/15053,4)
ppcm3 <- (d[1,1] + d[2,2])*100
#Modelo 4 con la función glm
m4glm <- glm(futsup ~ gender*(nbgoodc + nbstatus + knowent + nbmedia), #Variables de entorno
family = "binomial",
data = bd)
#Porcentaje general de predicciones correctas.
bdnuevo <- bd[,c("gender", "nbgoodc", "nbstatus", "knowent", "nbmedia")]
bdnuevo$futsupP <- predict(m4glm,newdata=bdnuevo,type = "response")
bdnuevo$futsup <- bd$futsup
bdnuevo$futsupP2 <- ifelse(bdnuevo$futsupP >= 0.5, "Yes", "No")
d <- round(xtabs(~ futsupP2 + futsup, data = bdnuevo)/15968,4)
ppcm4 <- (d[1,1] + d[2,2])*100
#Modelo 5 con la función glm
m5glm <- glm(futsup ~ gender*(age +GEMEDUC + GEMWORK3 + GEMHHINC + #Variables socioeconómicas
opport + suskill + fearfail + #Variables perceptuales
nbgoodc + nbstatus + knowent + nbmedia), #Variables de entorno social
family = "binomial",
data = bd)
#Porcentaje general de predicciones correctas.
bdnuevo <- bd[,c("age","gender", "GEMEDUC", "GEMWORK3", "GEMHHINC",
"opport","suskill","fearfail",
"nbgoodc", "nbstatus", "knowent", "nbmedia")]
bdnuevo$futsupP <- predict(m5glm,newdata=bdnuevo,type = "response")
bdnuevo$futsup <- bd$futsup
bdnuevo$futsupP2 <- ifelse(bdnuevo$futsupP >= 0.5, "Yes", "No")
d <- round(xtabs(~ futsupP2 + futsup, data = bdnuevo)/13371,4)
ppcm5 <- (d[1,1] + d[2,2])*100
#Se crea tabla con el intercepto, Tamaño de la muestra, prueba log likelihood Chi cuadrada y las medidas de bondad de ajuste Negelkerke y Porcentaje de predicciones correctas
tabla1 <- data.frame(Estadisticos =
c("Intercepto",
"Tamaño Muestra",
"Valor p test Likelihood Chi^2 (g.l.)",
"Negelkerke",
"% de predicciones correctas"),
Modelo1 = c(as.character(round(exp(inter1),2)),
as.character(n1),
paste(as.character(round(plog1,3)),"(",
as.character(gl1), ")"),
as.character(round(Neg1,3)),
as.character(round(ppcm1,2))),
Modelo2 = c(as.character(round(exp(inter2),2)),
as.character(n2),
paste(as.character(round(plog2,3)),"(",
as.character(gl2), ")"),
as.character(round(Neg2,3)),
as.character(round(ppcm2,2))),
Modelo3 = c(as.character(round(exp(inter3),2)),
as.character(n3),
paste(as.character(round(plog3,3)),"(",
as.character(gl3), ")"),
as.character(round(Neg3,3)),
as.character(round(ppcm3,2))),
Modelo4 = c(as.character(round(exp(inter4),2)),
as.character(n4),
paste(as.character(round(plog4,3)),"(",
as.character(gl4), ")"),
as.character(round(Neg4,3)),
as.character(round(ppcm4,2))),
Modelo5 = c(as.character(round(exp(inter5),2)),
as.character(n5),
paste(as.character(round(plog5,3)),"(",
as.character(gl5), ")"),
as.character(round(Neg5,3)),
as.character(round(ppcm5,2)))
)
#Libreria para crear una agradable tabla en Rmarkdown
library(knitr)
kable(tabla1)
| Estadisticos | Modelo1 | Modelo2 | Modelo3 | Modelo4 | Modelo5 |
|---|---|---|---|---|---|
| Intercepto | 1.04 | 2.12 | 0.69 | 0.78 | 1.1 |
| Tamaño Muestra | 13371 | 15087 | 15053 | 15968 | 13371 |
| Valor p test Likelihood Chi^2 (g.l.) | 0 ( 17 ) | 0 ( 19 ) | 0 ( 7 ) | 0 ( 9 ) | 0 ( 33 ) |
| Negelkerke | 0.116 | 0.06 | 0.083 | 0.034 | 0.12 |
| % de predicciones correctas | 67.8 | 64.14 | 65.05 | 61.36 | 67.49 |
Y en esta última parte se recrea la parte inicial de la tabla 1, donde están los coeficientes estimados de cada uno de los cinco modelos. Se adiciona el intercpeto en esta ocación para que el usuario observe la significancia estadística de dicho parámetro ya que en la tabla recreada en la primera parte no se proporcionó. Tener en cuenta las siguientes abreviaciones C = Coeficiente, EE = Error Estándar, P = Valor P, M1 = Modelo 1, M2 = Modelo 2, M3 = Modelo 3, M4 = Modelo 4, M5 = Modelo 5, entonces la abreviación CM1 hace referencia a los coeficientes del Modelo 1.
tabla2 <- data.frame(Parametros = row.names(as.data.frame(m5glm$coefficients)),
CM1 = c(as.character(round(exp(as.data.frame(summary(m1glm)$coef)$Estimate),2)),rep("",16)),
EEM1 = c(as.character(round(as.data.frame(summary(m1glm)$coef)$Std,2)),rep("",16)),
PM1 = c(as.character(round(as.data.frame(summary(m1glm)$coef)$Pr,2)),rep("",16)),
CM2 = c(as.character(round(exp(as.data.frame(summary(m2glm)$coef)$Estimate),2))[1:11],
rep("",7),
as.character(round(exp(as.data.frame(summary(m2glm)$coef)$Estimate),2))[12:20],
rep("",7)),
EEM2 = c(as.character(round(as.data.frame(summary(m2glm)$coef)$Std,2))[1:11],
rep("",7),
as.character(round(as.data.frame(summary(m2glm)$coef)$Std,2))[12:20],
rep("",7)),
PM2 = c(as.character(round(as.data.frame(summary(m2glm)$coef)$Pr,2))[1:11],
rep("",7),
as.character(round(as.data.frame(summary(m2glm)$coef)$Pr,2))[12:20],
rep("",7)),
CM3 = c(as.character(round(exp(as.data.frame(summary(m3glm)$coef)$Estimate),2))[1:2],
rep("",9),
as.character(round(exp(as.data.frame(summary(m3glm)$coef)$Estimate),2))[3:5],
rep("",13),
as.character(round(exp(as.data.frame(summary(m3glm)$coef)$Estimate),2))[6:8],
rep("",4)),
EEM3 = c(as.character(round(as.data.frame(summary(m3glm)$coef)$Std,2))[1:2],
rep("",9),
as.character(round(as.data.frame(summary(m3glm)$coef)$Std,2))[3:5],
rep("",13),
as.character(round(as.data.frame(summary(m3glm)$coef)$Std,2))[6:8],
rep("",4)),
PM3 = c(as.character(round(as.data.frame(summary(m3glm)$coef)$Pr,2))[1:2],
rep("",9),
as.character(round(as.data.frame(summary(m3glm)$coef)$Pr,2))[3:5],
rep("",13),
as.character(round(as.data.frame(summary(m3glm)$coef)$Pr,2))[6:8],
rep("",4)),
CM4 = c(as.character(round(exp(as.data.frame(summary(m4glm)$coef)$Estimate),2))[1:2],
rep("",12),
as.character(round(exp(as.data.frame(summary(m4glm)$coef)$Estimate),2))[3:6],
rep("",12),
as.character(round(exp(as.data.frame(summary(m4glm)$coef)$Estimate),2))[7:10]),
EEM4 = c(as.character(round(as.data.frame(summary(m4glm)$coef)$Std,2))[1:2],
rep("",12),
as.character(round(as.data.frame(summary(m4glm)$coef)$Std,2))[3:6],
rep("",12),
as.character(round(as.data.frame(summary(m4glm)$coef)$Std,2))[7:10]),
PM4 = c(as.character(round(as.data.frame(summary(m4glm)$coef)$Pr,2))[1:2],
rep("",12),
as.character(round(as.data.frame(summary(m4glm)$coef)$Pr,2))[3:6],
rep("",12),
as.character(round(as.data.frame(summary(m4glm)$coef)$Pr,2))[7:10]),
CM5 = as.character(round(exp(as.data.frame(summary(m5glm)$coef)$Estimate),2)),
EEM5 = as.character(round(as.data.frame(summary(m5glm)$coef)$Std,2)),
PM5 = as.character(round(as.data.frame(summary(m5glm)$coef)$Pr,2)))
#Libreria para crear una agradable tabla en Rmarkdown
library(knitr)
kable(tabla2)
| Parametros | CM1 | EEM1 | PM1 | CM2 | EEM2 | PM2 | CM3 | EEM3 | PM3 | CM4 | EEM4 | PM4 | CM5 | EEM5 | PM5 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| (Intercept) | 1.04 | 0.12 | 0.74 | 2.12 | 0.12 | 0 | 0.69 | 0.06 | 0 | 0.78 | 0.08 | 0 | 1.1 | 0.16 | 0.55 |
| genderMale | 0.97 | 0 | 0 | 1 | 0.17 | 1 | 1.35 | 0.08 | 0 | 1.47 | 0.12 | 0 | 1.02 | 0.23 | 0.93 |
| age | 1.23 | 0.04 | 0 | 0.98 | 0 | 0 | 0.97 | 0 | 0 | ||||||
| GEMEDUCNONE | 0.97 | 0.07 | 0.66 | 0.83 | 0.08 | 0.03 | 0.93 | 0.1 | 0.43 | ||||||
| GEMEDUCSOME SECONDARY | 1.05 | 0.06 | 0.45 | 1.14 | 0.08 | 0.08 | 1.16 | 0.09 | 0.09 | ||||||
| GEMEDUCPOST SECONDARY | 0.88 | 0.05 | 0.01 | 0.99 | 0.06 | 0.85 | 0.94 | 0.07 | 0.33 | ||||||
| GEMEDUCGRAD EXP | 0.81 | 0.09 | 0.02 | 0.78 | 0.12 | 0.04 | 0.77 | 0.14 | 0.05 | ||||||
| GEMWORK3Not working | 1.31 | 0.09 | 0 | 1.18 | 0.1 | 0.1 | 1.08 | 0.11 | 0.5 | ||||||
| GEMWORK3Work:F-T, P-T | 1.54 | 0.08 | 0 | 1.9 | 0.1 | 0 | 1.41 | 0.11 | 0 | ||||||
| GEMHHINCLowest 33%tile | 0.83 | 0.06 | 0 | 0.86 | 0.07 | 0.03 | 0.86 | 0.08 | 0.05 | ||||||
| GEMHHINCUpper 33%tile | 0.99 | 0.04 | 0.82 | 0.96 | 0.05 | 0.45 | 0.94 | 0.06 | 0.27 | ||||||
| opportYes | 1.46 | 0.04 | 0 | 1.5 | 0.05 | 0 | 1.41 | 0.06 | 0 | ||||||
| suskillYes | 2.17 | 0.04 | 0 | 2.48 | 0.05 | 0 | 2.32 | 0.06 | 0 | ||||||
| fearfailYes | 0.86 | 0.04 | 0 | 0.76 | 0.05 | 0 | 0.79 | 0.06 | 0 | ||||||
| nbgoodcYes | 1.28 | 0.06 | 0 | 1.43 | 0.08 | 0 | 1.44 | 0.09 | 0 | ||||||
| nbstatusYes | 1.04 | 0.05 | 0.4 | 0.94 | 0.05 | 0.27 | 0.99 | 0.06 | 0.85 | ||||||
| knowentYes | 1.27 | 0.04 | 0 | 1.79 | 0.05 | 0 | 1.26 | 0.06 | 0 | ||||||
| nbmediaYes | 1.07 | 0.04 | 0.08 | 1.11 | 0.05 | 0.04 | 1.08 | 0.06 | 0.21 | ||||||
| genderMale:age | 1 | 0 | 0.8 | 1 | 0 | 0.73 | |||||||||
| genderMale:GEMEDUCNONE | 1.19 | 0.13 | 0.18 | 1.15 | 0.14 | 0.32 | |||||||||
| genderMale:GEMEDUCSOME SECONDARY | 0.84 | 0.11 | 0.12 | 0.81 | 0.13 | 0.09 | |||||||||
| genderMale:GEMEDUCPOST SECONDARY | 0.88 | 0.09 | 0.13 | 0.87 | 0.09 | 0.13 | |||||||||
| genderMale:GEMEDUCGRAD EXP | 1.04 | 0.16 | 0.8 | 1.09 | 0.18 | 0.64 | |||||||||
| genderMale:GEMWORK3Not working | 2.09 | 0.16 | 0 | 1.88 | 0.18 | 0 | |||||||||
| genderMale:GEMWORK3Work:F-T, P-T | 1.18 | 0.14 | 0.22 | 1.21 | 0.15 | 0.22 | |||||||||
| genderMale:GEMHHINCLowest 33%tile | 0.94 | 0.11 | 0.58 | 0.88 | 0.13 | 0.32 | |||||||||
| genderMale:GEMHHINCUpper 33%tile | 1.17 | 0.08 | 0.05 | 1.12 | 0.09 | 0.17 | |||||||||
| genderMale:opportYes | 1.09 | 0.08 | 0.26 | 1.07 | 0.09 | 0.44 | |||||||||
| genderMale:suskillYes | 0.79 | 0.07 | 0 | 0.86 | 0.08 | 0.06 | |||||||||
| genderMale:fearfailYes | 1.19 | 0.07 | 0.02 | 1.21 | 0.08 | 0.02 | |||||||||
| genderMale:nbgoodcYes | 0.88 | 0.11 | 0.22 | 0.8 | 0.12 | 0.08 | |||||||||
| genderMale:nbstatusYes | 1.21 | 0.08 | 0.02 | 1.11 | 0.09 | 0.27 | |||||||||
| genderMale:knowentYes | 0.91 | 0.07 | 0.22 | 1.02 | 0.09 | 0.81 | |||||||||
| genderMale:nbmediaYes | 0.97 | 0.07 | 0.63 | 1 | 0.08 | 0.95 |