मैंने टर्मप्लॉट का अपना थोड़ा बढ़ाया संस्करण बनाया है जिसका उपयोग मैं इस उदाहरण में करता हूं, आप इसे यहां पा सकते हैं । मैंने पहले एसओ पर पोस्ट किया है, लेकिन जितना मैं इसके बारे में सोचता हूं, मुझे लगता है कि यह संभवतः वास्तविक कोडिंग की तुलना में कॉक्स आनुपातिक खतरों के मॉडल की व्याख्या से अधिक संबंधित है।
समस्या
जब मैं किसी खतरे के अनुपात को देखता हूं तो मुझे एक संदर्भ बिंदु होने की उम्मीद है जहां आत्मविश्वास अंतराल स्वाभाविक रूप से 0 है और यह मामला है जब मैं cph () का उपयोग करता हूं, rms package
लेकिन तब नहीं जब मैं coxph () का उपयोग करता हूं survival package
। क्या कॉक्सफ़ () द्वारा सही व्यवहार है और यदि ऐसा है तो संदर्भ बिंदु क्या है? इसके अलावा, कॉक्सफ () में डमी चर का अंतराल है और मान अलावा अन्य है ?
उदाहरण
यहाँ मेरा परीक्षण कोड है:
# 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")
यह प्लॉट देता है:
अपडेट करें
जैसा कि @ फ्रेंक हैरेल ने सुझाव दिया और अपनी हालिया टिप्पणी में सुझाव के साथ समायोजित करने के बाद मुझे मिला:
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)))
इसने बहुत अच्छा प्लॉट दिया:
मैंने कॉन्ट्रास्ट को देखा है। टिप्पणी के बाद फिर से देखा और इस कोड की कोशिश की जिसने एक प्लॉट दिया ... हालांकि शायद बहुत अधिक है जो हो सकता है :-)
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")
इस साजिश को दिया:
अद्यतन २
प्रो। थेरनॉ थोड़े दयालु थे, जिन पर उन प्लॉटों के बारे में टिप्पणी की जाती थी जिनमें आत्मविश्वास की कमी होती है:
कॉम्फ़ में चौरसाई को चिकना करना, गम में लोगों की तरह, सामान्य किया जाता है ताकि योग (भविष्यवाणी) = 0 हो। इसलिए मेरे पास एक निश्चित एकल बिंदु नहीं है जिसके लिए विचरण अतिरिक्त छोटा है।
हालाँकि मैं अभी तक GAM से परिचित नहीं हूँ लेकिन यह मेरे सवाल का जवाब देता है: यह व्याख्या का मुद्दा लगता है।
plot
और के contrast
बजाय plot.Predict
और contrast.rms
। मैं इसके बजाय उपयोग by
या length
अंदर करूँगा और दो सूचियाँ दूंगा ताकि आप यह बता सकें कि इसके विपरीत क्या किया जा रहा है। आप विश्वास बैंड के लिए छायांकन का उपयोग भी कर सकते हैं । seq
times
contrast
xYplot