【发布时间】:2018-06-18 09:01:35
【问题描述】:
我需要绘制 cox 回归中二次效应的相对风险。我的模型如下所示:
cox_mod <- coxph(Surv(time, status) ~
ph.karno + pat.karno + meal.cal + meal.cal_q,
data = lung)
其中meal.cal_q定义为:
lung$meal.cal_q <- lung$meal.cal^2
该图应考虑meal.cal 和meal.cal_q 的系数,并在y 轴上显示相对风险,在x 轴上显示meal.cal 值。相对风险应定义为给定膳食卡路里值与所有预测变量均值相比的风险。此外,该图应包括 95% 置信区间。情节应该是这样的: Expected plot
如果可能,绘图应该是一个 ggplot 对象,以便我可以自定义它。
我已经在网上阅读了几个小时,但不知道如何制作所描述的情节,希望有人能帮助我。例如,我使用 predict() 函数进行了尝试:
meal.cal_new <- seq(min(lung$meal.cal, na.rm= TRUE), max(lung$meal.cal, na.rm= TRUE), by= 1)
meal.cal_q_new <- meal.cal_new^2
n <- length(meal.cal_new)
lung_new <- data.frame(ph.karno= rep(mean(lung$ph.karno, na.rm= TRUE), n), pat.karno= rep(mean(lung$pat.karno, na.rm= TRUE), n), meal.cal= meal.cal_new, meal.cal_q = meal.cal_q_new)
predicted_rel_risk <- predict(cox_mod, lung_new, interval = "confidence")
print(predicted_rel_risk)
首先,预测值不包括 95% 置信度。此外,predicted_rel_risk 中有负值,在我看来不应该是这样,因为最小相对风险应该为零。 因此我无法得到想要的情节。所以我能做的就是:
lung_new$predicted_rel_risk <- predicted_rel_risk
ggplot(lung_new, aes(meal.cal, predicted_rel_risk)) +
geom_smooth(se= TRUE)
生成的图不包括置信区间并显示负的相对风险。这是我得到的:
非常感谢您!
【问题讨论】:
-
投反对票或计划发表评论的人也请发表评论解释原因。
标签: r plot quadratic cox-regression