Una variable aleatoria es una cantidad cuyo valor depende del azar. A modo de ejemplo, si la prevalencia de cierta enfermedad en una población es \(\pi=\) 0.30, ello significa que la probabilidad de que una persona elegida al azar padezca esa enfermedad es 0.3. Si elegimos al azar 3 personas de esa población, podrá ocurrir:
En este contexto, \(X=\) “número de enfermos entre las tres personas elegidas al azar”" es una variable aleatoria en el sentido que se acaba de definir. Concretamente, si el hecho de que un sujeto esté enfermo es independiente de que el resto de sujetos esté enfermo o no, el reparto (o distribución) de probabilidades entre los distintos valores de la variable \(X\) recibe el nombre de distribución binomial, en este caso particular, de parámetros \(n=3\) y \(\pi=0.3\), y se suele denotar de la forma \(X\approx b\left(n,\pi\right)\)
Podemos calcular las probabilidades anteriores con R:
p0=(1-0.3)^3; p0
## [1] 0.343
p1=3*0.3*(1-0.3)^2; p1
## [1] 0.441
p2=3*(0.3^2)*(1-0.3); p2
## [1] 0.189
p3=0.3^3; p3
## [1] 0.027
Estas cuatro probabilidades suman 1:
p0+p1+p2+p3
## [1] 1
Se define como:
\[E\left[X\right]=\sum_{k=0}^{n} k\cdot p\left(X=k\right)\]
En el caso de la variable aleatoria de nuestro ejemplo:
0*p0+1*p1+2*p2+3*p3
## [1] 0.9
Se puede demostrar que para la distribución binomial \(b\left(n,\pi\right)\) la ecuación anterior puede simplificarse como:
\[E\left[X\right]=n\cdot\pi\]
En nuestro ejemplo \(n\cdot \pi=3\cdot0.3=0.9\) que coincide con el valor que se acaba de calcular.
Podemos interpretar intuitivamente el concepto de esperanza en este caso considerando que en lugar de una muetra de 3 personas tenemos una muestra de 300; si la probabilidad de que una persona elegida al azar esté enferma es del 30% (esto es, \(\pi=0.3\)), cabe esperar que un 30% de las 300 personas (esto es, 90 personas) estén enfermas. Este valor esperado coincide precisamente con \(E\left[X\right]=n\cdot\pi=300\cdot 0.3= 90\).
Otra manera de interpretar la esperanza es como el valor medio de la variable en muchas muestras. R permite simular con facilidad valores de variables aleatorias; en particular, si \(X\approx b\left(300,0.3\right)\) (esto es, \(X\) es el número de enfermos entre 300 personas elegidas al azar cuando la probabilidad de estar enfermo es 0.3), puede simularse un valor de \(X\) como:
rbinom(1,300,0.3)
## [1] 100
La siguiente sintaxis simula el número de enfermos en cada una de 10 muestras de 300 personas cada una:
rbinom(10,300,0.3)
## [1] 86 96 85 84 84 88 95 91 111 91
Y ahora generamos 1000 muestras de tamaño 300 y contamos el número de enfermos en cada una:
enfermos=rbinom(1000,300,0.3)
Si calculamos el número medio de enfermos en estas muestras de tamaño 300:
mean(enfermos)
## [1] 89.763
obtenemos un valor muy próximo a la esperanza calculada más arriba (0.9)
Se define como:
\[{Var}\left(X\right)=\sum_{k=0}^{n} \left(k-E[X]\right)^2\cdot p\left(X=k\right)\]
La varianza es una medida de la variabilidad presente en una variable aleatoria. En el caso particular de la distribución binomial \(b\left(n,\pi\right)\) la ecuación anterior puede simplificarse como:
\[{Var}\left(X\right)=n\cdot \pi\cdot \left(1-\pi \right)\]
La desviación típica es la raiz cuadrada de la varianza:
\[{sd}\left(X\right)=\sqrt{n\cdot\pi\cdot\left(1-\pi \right)}\]
Calculamos la varianza para una variable \(b\left(300,0.3\right)\):
300*0.3*(1-0.3)
## [1] 63
y la desviación típica:
sqrt(300*0.3*(1-0.3))
## [1] 7.937254
Podemos calcular la varianza y desviación típica en las 1000 muestras anteriores y comprobar que son similares a estos valores teóricos:
var(enfermos)
## [1] 57.99883
sd(enfermos)
## [1] 7.615696
Cargamos los datos del estudio de Telde:
library(openxlsx)
setwd("c:/Users/aulas/Downloads/")
telde = read.xlsx("endocrino.xlsx")
En el estudio de Telde tenemos una muestra de \(n=\) 1030 personas. El número de personas con HTA entre estas 1030 es una variable aleatoria con distribución binomial \(b\left(1030, \pi\right)\), donde \(\pi\) es la probabilidad de que una persona elegida al azar de esta población padezca HTA. El valor de \(\pi\) en la población adulta de Telde es desconocido, pero podemos estimarlo (obtener un valor aproximado) a partir de los datos de nuestra muestra, usnado como estimador la prevalencia observada de HTA. Dicha prevalencia puede calcularse mediante:
tb=table(telde$HTA_OMS)
tb
##
## 0 1
## 706 324
ptb=prop.table(tb)
ptb
##
## 0 1
## 0.6854369 0.3145631
Por tanto de acuerdo con nuestros datos, la prevalencia de HTA en Telde ronda un 31.46% (esto es, la probabilidad de que una persona elegida al azar en la población adulta de Telde tenga HTA es aproximadamente 0.3146).
Asimismo podemos estimar la prevalencia de HTA de acuerdo a la presencia/ausencia de T2DM:
tb2 <- with(telde,table(DM,HTA_OMS))
tb2
## HTA_OMS
## DM 0 1
## 0 661 241
## 1 45 83
prop.table(tb2,1)
## HTA_OMS
## DM 0 1
## 0 0.7328160 0.2671840
## 1 0.3515625 0.6484375
Esta tabla nos indica que entre los diabéticos hay un 64.8% de hipertensos (83 hipertensos de un total de 83+45=128 sujetos); asimismo entre los no diabéticos (241+661=902) hay 241 hipertensos, lo que da lugar a una prevalencia de HTA de un 26.7% entre los no diabéticos). Este resultado muestra bien a las claras que la probabilidad de que una persona tenga HTA depende de si dicha persona tiene o no DM: es más probable ser hipertenso cuando se es diabético que cuando no se es diabético.
Preparamos un data.frame con los sujetos según tengan o no T2DM, indicando en cada grupo (con DM y sin DM), el número de sujetos con HTA, y el número total de sujetos (Nt
).:
freqHTA=aggregate(HTA_OMS~DM, telde,
function(x){c(con.HTA=sum(x),Nt=length(x),pHTA=sum(x)/length(x))})
freqHTA=data.frame(DM=freqHTA[,1],freqHTA[,-1])
rownames(freqHTA)=c("DM-","DM+")
freqHTA
## DM con.HTA Nt pHTA
## DM- 0 241 902 0.2671840
## DM+ 1 83 128 0.6484375
La siguiente sintaxis permite construir el modelo de regresión logística para predecir la prevalencia de HTA según la presencia/ausencia de diabetes:
mlog <- glm(pHTA ~ DM, data=freqHTA ,weights=Nt, family=binomial)
summary(mlog)
##
## Call:
## glm(formula = pHTA ~ DM, family = binomial, data = freqHTA, weights = Nt)
##
## Deviance Residuals:
## [1] 0 0
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.00896 0.07525 -13.408 < 2e-16 ***
## DM 1.62114 0.19983 8.113 4.96e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 6.9666e+01 on 1 degrees of freedom
## Residual deviance: 5.4179e-14 on 0 degrees of freedom
## AIC: 16.228
##
## Number of Fisher Scoring iterations: 2
Las predicciones de este modelo se obtienen mediante:
PrHTA=mlog$fit
PrHTA
## DM- DM+
## 0.2671840 0.6484375
Podemos observar que la predicción es exacta, esto es, se predicen exactamente los valores de las prevalencias observadas.
Gráficamente:
boxplot(PrHTA~names(PrHTA), ylim=c(0,1),boxwex=0.4,medcol=c("darkgreen","red"), ylab="Pr(HTA)",
boxlty = 0, whisklty = 0, staplelty = 0)
Para calcular la regresión logística anterior hemos construido una tabla resumen con las proporciones observadas de padecer HTA según se padezca o no DM. Podemos obtener el mismo resultado (ya que el modelo es el mismo) si se utiliza directamente la base de datos del estudio de Telde; en este caso la estimación del modelo se lleva a cabo de manera muy simple:
mlogB <- glm(HTA_OMS ~ DM, data=telde , family=binomial)
summary(mlogB)
##
## Call:
## glm(formula = HTA_OMS ~ DM, family = binomial, data = telde)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.4459 -0.7885 -0.7885 0.9308 1.6247
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.00896 0.07525 -13.408 < 2e-16 ***
## DM 1.62114 0.19983 8.113 4.96e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1282.8 on 1029 degrees of freedom
## Residual deviance: 1213.1 on 1028 degrees of freedom
## AIC: 1217.1
##
## Number of Fisher Scoring iterations: 4
y ahora la predicción se realiza para cada sujeto por separado; para cada sujeto se predice la probabilidad de que padezca HTA en función de que tenga o no DM. Mostramos a continuación las predicciones para los sujetos 1, 2, 900, 901, 1001, 1002,1028,1029 (elegimos estos sujetos a modo de ejemplo, para no tener que mostrar las predicciones de los 1030 que componen la muestra completa):
mlogB$fit[c(1, 2, 900, 901, 1001, 1002,1028,1029)]
## 1 2 900 901 1001 1002 1028
## 0.2671840 0.2671840 0.2671840 0.2671840 0.6484375 0.6484375 0.6484375
## 1029
## 0.6484375
Introduzcamos a continuación en el modelo anterior, además del efecto de la T2DM, el efecto de la resistencia a la insulina. Para ello construimos en primer lugar una tabla que nos da el número de hipertensos para cada una de las cuatro posibles combinaciones de T2DM e IR:
freqHTA=aggregate(HTA_OMS~IR+DM, telde,
function(x){c(con.HTA=sum(x),Nt=length(x),pHTA=sum(x)/length(x))})
freqHTA=data.frame(freqHTA[,(1:2)],freqHTA[,-(1:2)])
rownames(freqHTA)=c("IR-/DM-","IR+,DM-","IR-/DM+","IR+/DM+")
freqHTA
## IR DM con.HTA Nt pHTA
## IR-/DM- 0 0 136 675 0.2014815
## IR+,DM- 1 0 105 227 0.4625551
## IR-/DM+ 0 1 14 25 0.5600000
## IR+/DM+ 1 1 69 103 0.6699029
El modelo de regresión logística para esta tabla se calcula mediante:
mlog2 <- glm(pHTA ~ DM + IR, data=freqHTA, weights=Nt, family=binomial)
summary(mlog2)
##
## Call:
## glm(formula = pHTA ~ DM + IR, family = binomial, data = freqHTA,
## weights = Nt)
##
## Deviance Residuals:
## IR-/DM- IR+,DM- IR-/DM+ IR+/DM+
## -0.3115 0.4353 1.3104 -0.6964
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.34726 0.09328 -14.443 < 2e-16 ***
## DM 1.06299 0.21625 4.915 8.86e-07 ***
## IR 1.13921 0.15430 7.383 1.55e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 126.0959 on 3 degrees of freedom
## Residual deviance: 2.4885 on 1 degrees of freedom
## AIC: 29.534
##
## Number of Fisher Scoring iterations: 3
cuyas predicciones son las siguientes (obsérvese que ahora ya no coinciden con las proporciones observadas):
PrHTA2=mlog2$fit
PrHTA2
## IR-/DM- IR+,DM- IR-/DM+ IR+/DM+
## 0.2063183 0.4481725 0.4294062 0.7016004
Gráficamente:
boxplot(PrHTA2~names(PrHTA2), ylim=c(0,1),boxwex=0.4,medcol=c("darkgreen","red"), ylab="Pr(HTA)",
boxlty = 0, whisklty = 0, staplelty = 0)
El modelo con interacciones sí que hace predicciones exactas:
mlog3 <- glm(pHTA ~ DM * IR, data=freqHTA, weights=Nt, family=binomial)
summary(mlog3)
##
## Call:
## glm(formula = pHTA ~ DM * IR, family = binomial, data = freqHTA,
## weights = Nt)
##
## Deviance Residuals:
## [1] 0 0 0 0
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.37706 0.09596 -14.350 < 2e-16 ***
## DM 1.61822 0.41418 3.907 9.34e-05 ***
## IR 1.22700 0.16410 7.477 7.59e-14 ***
## DM:IR -0.76042 0.48288 -1.575 0.115
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1.2610e+02 on 3 degrees of freedom
## Residual deviance: -5.3513e-14 on 0 degrees of freedom
## AIC: 29.046
##
## Number of Fisher Scoring iterations: 3
mlog3$fit
## IR-/DM- IR+,DM- IR-/DM+ IR+/DM+
## 0.2014815 0.4625551 0.5600000 0.6699029
Del mismo modo que antes, la regresión logística puede estimarse a partir de la base de datos original mediante:
mg <- glm(HTA_OMS ~ DM + IR , data =telde, family=binomial)
summary(mg)
##
## Call:
## glm(formula = HTA_OMS ~ DM + IR, family = binomial, data = telde)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.5552 -0.6798 -0.6798 0.8419 1.7767
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.34726 0.09328 -14.443 < 2e-16 ***
## DM 1.06299 0.21625 4.915 8.86e-07 ***
## IR 1.13921 0.15430 7.383 1.55e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1282.8 on 1029 degrees of freedom
## Residual deviance: 1159.2 on 1027 degrees of freedom
## AIC: 1165.2
##
## Number of Fisher Scoring iterations: 4
Ahora lo que se predice para cada sujeto es la probabilidad de que sea hipertenso según que tenga o no T2DM, y según que tenga o no IR; para los mismos sujetos de antes, las predicciones son:
mg$fit[c(1, 2, 900, 901, 1001, 1002,1028,1029)]
## 1 2 900 901 1001 1002 1028
## 0.4481725 0.4481725 0.2063183 0.2063183 0.7016004 0.7016004 0.4294062
## 1029
## 0.4294062
mg <- glm(HTA_OMS ~ DM + EDAD, data=telde, family=binomial)
summary(mg)
##
## Call:
## glm(formula = HTA_OMS ~ DM + EDAD, family = binomial, data = telde)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.1255 -0.7804 -0.5432 0.9044 2.2104
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.550680 0.348603 -13.054 < 2e-16 ***
## DM 0.909660 0.219401 4.146 3.38e-05 ***
## EDAD 0.073285 0.006818 10.748 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1282.8 on 1029 degrees of freedom
## Residual deviance: 1081.5 on 1027 degrees of freedom
## AIC: 1087.5
##
## Number of Fisher Scoring iterations: 4
Podemos representar gráficamente el efecto de la edad en cada grupo (DM+ y DM-) del siguiente modo:
telde$pHTA=mg$fitted # Añadimos las predicciones a la base de datos
telde=telde[order(telde$EDAD), ] # Ordenamos por edad
si.DM=subset(telde,DM==1) # Subconjunto de diabéticos
no.DM=subset(telde,DM==0) # Subconjunto de no diabéticos
plot(pHTA~EDAD,telde, type="n", xlab="EDAD", ylab="pr(HTA)") # Gráfico en blanco
lines(no.DM$EDAD,no.DM$pHTA,type="l",col="darkgreen",lwd=2,lty=2)
lines(si.DM$EDAD,si.DM$pHTA,type="l",col="red3",lwd=2,lty=1)
legend("bottomright", c("DM+","DM-"), lty=c(1,2), col=c("red3","darkgreen"), lwd=2, bty="n")
mg2 <- glm(HTA_OMS ~ DM + IR + EDAD, data=telde, family=binomial)
summary(mg2)
##
## Call:
## glm(formula = HTA_OMS ~ DM + IR + EDAD, family = binomial, data = telde)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -2.0154 -0.7342 -0.4717 0.8531 2.3655
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -4.965598 0.369248 -13.448 < 2e-16 ***
## DM 0.323218 0.236159 1.369 0.171
## IR 1.178958 0.166337 7.088 1.36e-12 ***
## EDAD 0.074358 0.007001 10.621 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1282.8 on 1029 degrees of freedom
## Residual deviance: 1031.2 on 1026 degrees of freedom
## AIC: 1039.2
##
## Number of Fisher Scoring iterations: 4
Gráficamente:
telde$pHTA=mg2$fitted # Añadimos las predicciones a la base de datos
telde=telde[order(telde$EDAD), ] # Ordenamos por edad
teldeIR=subset(telde,IR==1)
si.DM=subset(teldeIR,DM==1) # Subconjunto de diabéticos e IR
no.DM=subset(teldeIR,DM==0) # Subconjunto de no diabéticos e IR
plot(pHTA~EDAD,telde, type="n", xlab="EDAD", ylab="pr(HTA)",
main="Sujetos con Insulino-Resistencia")
lines(no.DM$EDAD,no.DM$pHTA,type="l",col="darkgreen",lwd=2,lty=2)
lines(si.DM$EDAD,si.DM$pHTA,type="l",col="red3",lwd=2,lty=1)
legend("bottomright", c("DM+","DM-"), lty=c(1,2), col=c("red3","darkgreen"), lwd=2, bty="n")
telde.noIR=subset(telde,IR==0)
si.DM=subset(telde.noIR,DM==1) # Subconjunto de diabéticos e IR
no.DM=subset(telde.noIR,DM==0) # Subconjunto de no diabéticos e IR
plot(pHTA~EDAD,telde, type="n", xlab="EDAD", ylab="pr(HTA)",
main="Sujetos SIN Insulino-Resistencia")
lines(no.DM$EDAD,no.DM$pHTA,type="l",col="darkgreen",lwd=2,lty=2)
lines(si.DM$EDAD,si.DM$pHTA,type="l",col="red3",lwd=2,lty=1)
legend("bottomright", c("DM+","DM-"), lty=c(1,2), col=c("red3","darkgreen"), lwd=2, bty="n")
Ya hemos visto como podemos usar epiR
para calcular la odds-ratio entre HTA_OMS y DM:
library(epiR)
fDM=ordered(telde$DM,levels=c(1,0),labels=c("DM+","DM-"))
fHTA=ordered(telde$HTA_OMS,levels=c(1,0),labels=c("HTA+","HTA-"))
tb <- table(fDM,fHTA)
tb
## fHTA
## fDM HTA+ HTA-
## DM+ 83 45
## DM- 241 661
epi.2by2(tb)
## Outcome + Outcome - Total Inc risk *
## Exposed + 83 45 128 64.8
## Exposed - 241 661 902 26.7
## Total 324 706 1030 31.5
## Odds
## Exposed + 1.844
## Exposed - 0.365
## Total 0.459
##
## Point estimates and 95 % CIs:
## -------------------------------------------------------------------
## Inc risk ratio 2.43 (2.05, 2.87)
## Odds ratio 5.06 (3.42, 7.48)
## Attrib risk * 38.13 (29.36, 46.89)
## Attrib risk in population * 4.74 (0.69, 8.79)
## Attrib fraction in exposed (%) 58.80 (51.30, 65.14)
## Attrib fraction in population (%) 15.06 (10.77, 19.15)
## -------------------------------------------------------------------
## X2 test statistic: 75.567 p-value: < 0.001
## Wald confidence limits
## * Outcomes per 100 population units
o directamente a partir de la tabla cruzada:
OR=tb[1,1]*tb[2,2]/(tb[1,2]*tb[2,1])
OR
## [1] 5.058829
La odds ratio es, como vemos, 5.058829. El modelo logístico para predecir la prevalencia de HTA_OMS a partir de DM es:
mg <- glm(HTA_OMS~DM, data=telde, family=binomial)
summary(mg)
##
## Call:
## glm(formula = HTA_OMS ~ DM, family = binomial, data = telde)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.4459 -0.7885 -0.7885 0.9308 1.6247
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.00896 0.07525 -13.408 < 2e-16 ***
## DM 1.62114 0.19983 8.113 4.96e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1282.8 on 1029 degrees of freedom
## Residual deviance: 1213.1 on 1028 degrees of freedom
## AIC: 1217.1
##
## Number of Fisher Scoring iterations: 4
Los valores de las odds-ratio se obtienen como el resultado de calcular el valor del número e elevado a los coeficientes estimados del modelo:
exp(coef(mg))
## (Intercept) DM
## 0.3645991 5.0588290
y podemos ver que el valor así obtenido coincide con el ya calculado a partir de la tabla anterior.
El empleo de la regresión logística nos permite obtener las odds-ratio ajustadas por otras variables:
mg2 <- glm(HTA_OMS ~ DM + IR + EDAD, data=telde, family=binomial)
exp(coef(mg2))
## (Intercept) DM IR EDAD
## 0.006973777 1.381565898 3.250984231 1.077192451
Se pueden también obtener intervalos de confianza y contrastes de significación para las odds-ratio:
library(pander)
library(MASS) # Para el cálculo de intervalos de confianza
smg<-summary(mg2)
pv=smg$coef[,4] # p-valores de los coeficientes
pval=c(ifelse(pv<.001,"< .001",round(pv,3)))
b=smg$coef[,1]
sb=smg$coef[,2]
bs=array(sprintf("%.3f (%.3f)",b,sb),dim=c(length(b),1))
OR=exp(b)
OR.ci=exp(confint(mg))
IC95=array(sprintf("%.3f (%.3f,%.3f)",OR,OR.ci[,1],OR.ci[,2]),dim=c(length(OR),1))
ta5 <- data.frame(bs,pval,IC95)
names(ta5)=c("Coeficiente (SE)","P","OR (IC-95%)")
pander(ta5)
Coeficiente (SE) | P | OR (IC-95%) | |
---|---|---|---|
(Intercept) | -4.966 (0.369) | < .001 | 0.007 (0.314,0.422) |
DM | 0.323 (0.236) | 0.171 | 1.382 (3.437,7.535) |
IR | 1.179 (0.166) | < .001 | 3.251 (0.314,0.422) |
EDAD | 0.074 (0.007) | < .001 | 1.077 (3.437,7.535) |