이 예제에서 사용하는 약간 개선 된 termplot 버전을 만들었습니다 . 여기서 찾을 수 있습니다 . 나는 이전에 SO 에 게시 했지만 더 많이 생각할 때 이것이 실제 코딩보다 Cox 비례 위험 모델의 해석과 더 관련이 있다고 생각합니다.
문제
위험 비율 그림을 볼 때 신뢰 구간이 자연스럽게 0 인 기준점을 가질 것으로 예상 rms package
합니다 survival package
. coxph ()에 의한 올바른 동작입니까? 그렇다면 기준점은 무엇입니까? 또한 coxph ()의 더미 변수에 간격이 있으며 값이 이외의 값 입니까?
예
내 테스트 코드는 다음과 같습니다.
# Load libs
library(survival)
library(rms)
# Regular survival
survobj <- with(lung, Surv(time,status))
# Prepare the variables
lung$sex <- factor(lung$sex, levels=1:2, labels=c("Male", "Female"))
labels(lung$sex) <- "Sex"
labels(lung$age) <- "Age"
# The rms survival
ddist <- datadist(lung)
options(datadist="ddist")
rms_surv_fit <- cph(survobj~rcs(age, 4)+sex, data=lung, x=T, y=T)
cph 플롯
이 코드는 :
termplot2(rms_surv_fit, se=T, rug.type="density", rug=T, density.proportion=.05,
se.type="polygon", yscale="exponential", log="y",
xlab=c("Age", "Sex"),
ylab=rep("Hazard Ratio", times=2),
main=rep("cph() plot", times=2),
col.se=rgb(.2,.2,1,.4), col.term="black")
이 줄거리를 제공합니다 :
콕스 프 플롯
이 코드는 :
termplot2(surv_fit, se=T, rug.type="density", rug=T, density.proportion=.05,
se.type="polygon", yscale="exponential", log="y",
xlab=c("Age", "Sex"),
ylab=rep("Hazard Ratio", times=2),
main=rep("coxph() plot", times=2),
col.se=rgb(.2,.2,1,.4), col.term="black")
이 줄거리를 제공합니다 :
최신 정보
@Frank Harrell이 제안한 바와 같이 최근 의견에서 제안을 따라 조정 한 후
p <- Predict(rms_surv_fit, age=seq(50, 70, times=20),
sex=c("Male", "Female"), fun=exp)
plot.Predict(p, ~ age | sex,
col="black",
col.fill=gray(seq(.8, .75, length=5)))
이것은이 아주 좋은 음모를 주었다 :
주석 후에 contrast.rms를 다시 살펴보고 플롯을 제공하는이 코드를 시도했습니다 ... 아마도 훨씬 더 할 수는 있지만 :-)
w <- contrast.rms(rms_surv_fit,
list(sex=c("Male", "Female"),
age=seq(50, 70, times=20)))
xYplot(Cbind(Contrast, Lower, Upper) ~ age | sex,
data=w, method="bands")
이 줄거리를 주었다 :
업데이트 2
Thernau 교수는 자신감이 부족한 음모에 대해 충분히 언급했습니다.
콕스의 스무딩 스플라인은 gam의 스플라인과 같이 sum (prediction) = 0이되도록 정규화됩니다. 따라서 분산이 매우 작은 고정 된 단일 지점이 없습니다.
아직 GAM에 익숙하지는 않지만 내 질문에 대답 하는 것 같습니다 . 이것은 해석의 문제인 것 같습니다.
plot
및 contrast
대신 plot.Predict
과 contrast.rms
. 나는 대신 by
또는 length
내부를 seq
사용 times
하고 contrast
두 개의 목록을 제공하므로 대비되는 대상을 정확하게 지정하십시오. xYplot
신뢰 구간에 음영을 사용할 수도 있습니다 .