Es una extensión de la regresión logistica que se centra en el análisis y modelamiento de datos emperajados.
- Requiere al menos dos grupos de estudio.
- Controlar la confusión y la interacción.
- Estudios de casos y controles.
27 de mayo de 2020
Es una extensión de la regresión logistica que se centra en el análisis y modelamiento de datos emperajados.
Es un procedimiento que se realiza cuando se quiere estudiar un desenlace en grupos comparables entre sí, para lo cual se toma un grupo de referencia y se emparejan a los sujetos de ese grupo con los asignados al grupo de interés, tratando de igualar las distribución de las covariables en los diferentes grupos.
Se emparejan a los individuos por un grupo de categorias, las cuales al combinarlas van a generar diferentes estratos, teniendo que para cada persona del grupo de interés se buscará a alguien que tenga los mismos factores.
Consiste en realizar un análisis teniendo en cuenta los diferentes emparejamientos, para el cual se debe tener presente que para cada emparejamiento existen cuatro posibilidades:
Asumiendo que se tiene un estudio con 100 parejas, que corresponde a un total de 200 individuos, en donde: \(W = 30\), \(X = 30\), \(Y = 10\) y \(Z = 30\), se tiene entonces que:
\[ Parejas = 30+30+10+30\]
w <- 30 x <- 30 y <- 10 z <- 30 w+x+y+z
## [1] 100
\(\widehat{MOR}=\frac{\sum_{g=1}^{G}W_g\hat{OR}_g}{\sum_{g=1}^GW_g}\)
donde,
\(W_g=\frac{b_gc_g}{n_g}\)
Tambien se tiene que:
\(\widehat{MOR}=X/Y\)
La hipótesis nula corresponde a
\(H_0: OR=1\)
Estadistico de prueba
\(\chi^2=\frac{(X-Y)^2}{X+Y},gl=1\)
Se realiza el calculo siguiendo la última expresión
\(\widehat{MOR}=30/10\)
mor <- x/y mor
## [1] 3
\(\chi^2=\frac{(30-10)^2}{30+10}\)
est <- (30-10)^2/(30+10)
pvalor <- pchisq(est,1,
lower.tail = F)
mntest <- data.frame(est,pvalor)
mntest
## est pvalor ## 1 10 0.001565402
Modelo
\[logitP(X)=\alpha+\beta E+\sum\gamma_{1i}V_{1i}+\sum\gamma_{2i}V_{2i}+E\sum\delta_iW_i\] donde,
\(\gamma = \text{Coeficiente de los estratos}\)
\(\delta = \text{Coeficiente de la interacción}\)
OR
El OR para el efecto de la exposición ajustado por las covariables corresponde a:
\[ROR=exp(\beta+E\sum\delta_iW_i)\]
En una investigación se quiere estudiar la influencia del aborto (Inducido y espontáneo) en la infertilidad en mujeres, para lo cual se toman 83 mujeres que presentan problemas de infertilidad de acuerdo con su historia clinica, y por cada paciente se toman dos mujeres sanas como control, emparejandolas por edad, “parity” y años de educación. Estos datos se toman de la base de datos infert incluida en el paquete datasets de R.
data("infert")
summary(infert)
## education age parity induced ## 0-5yrs : 12 Min. :21.00 Min. :1.000 Cero :143 ## 6-11yrs:120 1st Qu.:28.00 1st Qu.:1.000 Uno : 68 ## 12+ yrs:116 Median :31.00 Median :2.000 2 o más: 37 ## Mean :31.50 Mean :2.093 ## 3rd Qu.:35.25 3rd Qu.:3.000 ## Max. :44.00 Max. :6.000 ## case spontaneous stratum pooled.stratum ## Min. :0.0000 Cero :141 Min. : 1.00 Min. : 1.00 ## 1st Qu.:0.0000 Uno : 71 1st Qu.:21.00 1st Qu.:19.00 ## Median :0.0000 2 o más: 36 Median :42.00 Median :36.00 ## Mean :0.3347 Mean :41.87 Mean :33.58 ## 3rd Qu.:1.0000 3rd Qu.:62.25 3rd Qu.:48.25 ## Max. :1.0000 Max. :83.00 Max. :63.00
infert$inducido <- ifelse(infert$induced == "Cero",0,1) tinfert <- table(infert$case,infert$inducido,infert$stratum) tablas_parciales <- margin.table(tinfert,c(1,2,3)) mantelhaen.test(tablas_parciales)
## ## Mantel-Haenszel chi-squared test with continuity correction ## ## data: tablas_parciales ## Mantel-Haenszel X-squared = 0.0225, df = 1, p-value = 0.8808 ## alternative hypothesis: true common odds ratio is not equal to 1 ## 95 percent confidence interval: ## 0.6123322 1.9435246 ## sample estimates: ## common odds ratio ## 1.090909
m1 <- clogit(case~inducido+strata(stratum),data = infert) summary(m1)
## Call: ## coxph(formula = Surv(rep(1, 248L), case) ~ inducido + strata(stratum), ## data = infert, method = "exact") ## ## n= 248, number of events= 83 ## ## coef exp(coef) se(coef) z Pr(>|z|) ## inducido 0.08972 1.09387 0.29913 0.3 0.764 ## ## exp(coef) exp(-coef) lower .95 upper .95 ## inducido 1.094 0.9142 0.6086 1.966 ## ## Concordance= 0.509 (se = 0.04 ) ## Likelihood ratio test= 0.09 on 1 df, p=0.8 ## Wald test = 0.09 on 1 df, p=0.8 ## Score (logrank) test = 0.09 on 1 df, p=0.8
tinfert2 <- table(infert$case,infert$induced,infert$stratum) tablas_parciales2 <- margin.table(tinfert2,c(1,2,3)) mantelhaen.test(tablas_parciales2)
## ## Cochran-Mantel-Haenszel test ## ## data: tablas_parciales2 ## Cochran-Mantel-Haenszel M^2 = 0.12415, df = 2, p-value = 0.9398
m2 <- clogit(case~induced+strata(stratum),data = infert) summary(m2)
## Call: ## coxph(formula = Surv(rep(1, 248L), case) ~ induced + strata(stratum), ## data = infert, method = "exact") ## ## n= 248, number of events= 83 ## ## coef exp(coef) se(coef) z Pr(>|z|) ## inducedUno 0.06942 1.07189 0.31939 0.217 0.828 ## induced2 o más 0.15007 1.16192 0.44353 0.338 0.735 ## ## exp(coef) exp(-coef) lower .95 upper .95 ## inducedUno 1.072 0.9329 0.5732 2.005 ## induced2 o más 1.162 0.8606 0.4871 2.771 ## ## Concordance= 0.497 (se = 0.047 ) ## Likelihood ratio test= 0.12 on 2 df, p=0.9 ## Wald test = 0.12 on 2 df, p=0.9 ## Score (logrank) test = 0.12 on 2 df, p=0.9
m3 <- clogit(case~inducido+education+strata(stratum),data = infert) summary(m3)
## Call: ## coxph(formula = Surv(rep(1, 248L), case) ~ inducido + education + ## strata(stratum), data = infert, method = "exact") ## ## n= 248, number of events= 83 ## ## coef exp(coef) se(coef) z Pr(>|z|) ## inducido 0.08972 1.09387 0.29913 0.3 0.764 ## education6-11yrs NA NA 0.00000 NA NA ## education12+ yrs NA NA 0.00000 NA NA ## ## exp(coef) exp(-coef) lower .95 upper .95 ## inducido 1.094 0.9142 0.6086 1.966 ## education6-11yrs NA NA NA NA ## education12+ yrs NA NA NA NA ## ## Concordance= 0.509 (se = 0.04 ) ## Likelihood ratio test= 0.09 on 1 df, p=0.8 ## Wald test = 0.09 on 1 df, p=0.8 ## Score (logrank) test = 0.09 on 1 df, p=0.8
m4 <- clogit(case~induced+spontaneous+strata(stratum),data = infert) summary(m4)
## Call: ## coxph(formula = Surv(rep(1, 248L), case) ~ induced + spontaneous + ## strata(stratum), data = infert, method = "exact") ## ## n= 248, number of events= 83 ## ## coef exp(coef) se(coef) z Pr(>|z|) ## inducedUno 1.3865 4.0007 0.4634 2.992 0.002770 ** ## induced2 o más 2.8193 16.7654 0.7353 3.834 0.000126 *** ## spontaneousUno 2.0438 7.7195 0.4529 4.512 6.41e-06 *** ## spontaneous2 o más 3.9350 51.1631 0.7246 5.430 5.63e-08 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## exp(coef) exp(-coef) lower .95 upper .95 ## inducedUno 4.001 0.24996 1.613 9.921 ## induced2 o más 16.765 0.05965 3.968 70.838 ## spontaneousUno 7.720 0.12954 3.177 18.755 ## spontaneous2 o más 51.163 0.01955 12.363 211.727 ## ## Concordance= 0.776 (se = 0.044 ) ## Likelihood ratio test= 53.21 on 4 df, p=8e-11 ## Wald test = 31.97 on 4 df, p=2e-06 ## Score (logrank) test = 48.47 on 4 df, p=8e-10