Dos predictores lineales interactuar de forma significativa (véase a continuación). ¿Cómo puedo visualizar esta interacción en una parcela?
> data(pbc)
> d <- pbc
> rm(pbc, pbcseq)
> d$status <- ifelse(d$status != 0, 1, 0)
>
> dd = datadist(d)
> options(datadist='dd')
> (m <- cph(Surv(time, status) ~ bili * alk.phos, data=d))
Cox Proportional Hazards Model
cph(formula = Surv(time, status) ~ bili * alk.phos, data = d)
Frequencies of Missing Values Due to Each Variable
Surv(time, status) bili alk.phos
0 0 106
Model Tests Discrimination
Indexes
Obs 312 LR chi2 94.76 R2 0.264
Events 144 d.f. 3 Dxy 0.565
Center 0.676 Pr(> chi2) 0.0000 g 0.641
Score chi2 193.72 gr 1.898
Pr(> chi2) 0.0000
Coef S.E. Wald Z Pr(>|Z|)
bili 0.2280 0.0300 7.59 <0.0001
alk.phos 0.0001 0.0000 1.83 0.0667
bili * alk.phos 0.0000 0.0000 -2.86 0.0043
Una forma en que puedo pensar es en dividir un predictor y graficar los valores altos con los bajos valores como dos líneas de puntos en una sola figura. Sin embargo, no puedo reproducir el ejemplo en la rms paquete en plot.Predict()
utilizando los datos del ejemplo anterior.
> d$alk.phos.high <- ifelse(d$alk.phos > 1259, 1, 0)
> (m <- cph(Surv(time, status) ~ bili * alk.phos.high, data=d))
Cox Proportional Hazards Model
cph(formula = Surv(time, status) ~ bili * alk.phos.high, data = d)
Frequencies of Missing Values Due to Each Variable
Surv(time, status) bili alk.phos.high
0 0 106
Model Tests Discrimination
Indexes
Obs 312 LR chi2 97.95 R2 0.272
Events 144 d.f. 3 Dxy 0.540
Center 0.81 Pr(> chi2) 0.0000 g 0.727
Score chi2 194.00 gr 2.069
Pr(> chi2) 0.0000
Coef S.E. Wald Z Pr(>|Z|)
bili 0.2374 0.0277 8.57 <0.0001
alk.phos.high 0.5667 0.2214 2.56 0.0105
bili * alk.phos.high -0.1139 0.0309 -3.69 0.0002
ACTUALIZACIÓN #1
Mi tratando de averiguar cómo parcela de ambos grupos de un dividió en dos predictor en una sola figura, me di cuenta de cómo trazar líneas para varios valores de una interacción predictor en una parcela de el otro predictor en contra de la relación de riesgo.
Yo pienso que este tipo de gráfico muestra el efecto de la interacción término en una forma fácil de entender (lo cual es especialmente importante para un médico g).
- Este tipo de trama tiene un nombre especial? ¿Cómo le llaman a este tipo de argumento?
- ¿Cómo puedo interpretar esta interacción? Sería correcto decir que el impacto pronóstico de la bilirrubina aumenta con los valores más bajos de fosfatasa alcalina?
#
library(rms)
data(pbc)
d <- pbc
rm(pbc, pbcseq)
d$status <- ifelse(d$status != 0, 1, 0)
dd = datadist(d)
options(datadist='dd')
m1 <- cph(Surv(time, status) ~ bili * alk.phos, data=d)
p1 <- Predict(m1, bili, alk.phos=c(850, 1250, 2000), conf.int=FALSE, fun=exp)
plot(p1, ylab="Hazard Ratio")
m2 <- cph(Surv(time, status) ~ bili + alk.phos, data=d)
p2 <- Predict(m2, bili, alk.phos=c(850, 1250, 2000), conf.int=FALSE, fun=exp)
plot(p2, ylab="Hazard Ratio")
primera figura: modelo m2
sin interacción
segunda figura: modelo m1
con la interacción