আমি এই উদাহরণটিতে যে টার্মপ্ল্লটটি ব্যবহার করি তার নিজের সামান্য বর্ধিত সংস্করণটি তৈরি করেছি, আপনি এটি এখানে খুঁজে পেতে পারেন । আমি এর আগে এসওতে পোস্ট করেছি তবে আমি এটির বিষয়ে যত বেশি চিন্তা করি আমি বিশ্বাস করি যে এটি সম্ভবত কোডিংয়ের চেয়ে কক্স প্রসংশ্লিষ্ট বিপদ মডেলের ব্যাখ্যার সাথে আরও বেশি সম্পর্কিত।
সমস্যাটি
যখন আমি একটি হ্যাজার্ড অনুপাতের প্লটটি দেখি তখন আমি একটি রেফারেন্স পয়েন্ট আশা করি যেখানে আত্মবিশ্বাসের ব্যবধানটি স্বাভাবিকভাবে 0 হয় এবং যখন আমি যখন সিএফ () rms packageব্যবহার করি না তখন যখন আমি কক্সফ () ব্যবহার করি না 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)
সিএফপি প্লট
এই কোড:
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")
এই প্লট দিয়েছে:

আপডেট 2
অধ্যাপক থেরনাউ আস্থার কোমরের অভাব নিয়ে প্লটগুলি সম্পর্কে মন্তব্য করার পক্ষে যথেষ্ট দয়া করেছিলেন:
গামার মতো কক্সফোনে স্মুথ স্প্লিংগুলি স্বাভাবিক করা হয় যাতে যোগফল (পূর্বাভাস) = 0 হয়। সুতরাং আমার কাছে একটি নির্দিষ্ট একক পয়েন্ট নেই যার জন্য ভেরিয়েন্সটি অতিরিক্ত ছোট।
যদিও আমি এখনও জ্যামের সাথে পরিচিত নই তবে এটি আমার প্রশ্নের উত্তর বলে মনে হচ্ছে: এটি ব্যাখ্যার বিষয় বলে মনে হচ্ছে।
plotএবং contrastপরিবর্তে plot.Predictএবং contrast.rms। আমি এর পরিবর্তে byবা lengthভিতরে ব্যবহার করব এবং দুটি তালিকা দেব যাতে আপনি বিপরীতে যা ঠিক তা নির্দিষ্ট করেন। আত্মবিশ্বাস ব্যান্ডের জন্য আপনি শেডিংও ব্যবহার করতে পারেন । seqtimescontrastxYplot