在r

时间:2015-11-30 16:12:12

标签: r survival-analysis cox-regression

我试图通过在使用变量相互作用时绘制cox回归来绘制调整后的生存曲线。

阅读survfit.coxph页面https://stat.ethz.ch/R-manual/R-devel/library/survival/html/survfit.coxph.html我看到参数" newdata"

newdata 
a data frame with the same variable names as those that appear in the coxph formula. It is also valid to use a vector, if the data frame would consist of a single row.

The curve(s) produced will be representative of a cohort whose covariates correspond to the values in newdata. Default is the mean of the covariates used in the coxph fit.

我想在我的cox输出中绘制相互作用的线条。即如果我的cox输出如下:

                    coef exp(coef) se(coef)      z       p
 Drug2           -0.1345     0.876   0.1812 -0.732 4.5e-01
 Drug3           -0.3678     0.719   0.0816 -3.966 7.2e-05
 Drug4            0.0468     1.063   0.0432  0.932 3.4e-01
 Sex              0.2574     1.294   0.0786  3.133 1.2e-03
 Sex:Drug2       -0.1283     0.880   0.1809 -0.709 4.8e-01
 Sex:Drug3       -0.3226     0.724   0.0817 -3.950 7.8e-05
 Sex:Drug4        0.0524     1.054   0.0574  0.913 3.6e-01

我想在与Sex互动后绘制我的Drug变量的新生存曲线。

这导致我参与此newdata参数。

与调用newdata相比,不包括newdata和仅使用协变量的平均值有什么不同。在这一点上,我甚至不知道如何正确构建新数据。

如果有人可以根据我的考克斯模型给出关于如何构建newdata的任何指示,那么与仅使用均值相比,它的重要性是什么。在根据cox数据绘制这个新的生存图时,我应该期望在我的原始生存曲线中有相同数量的线。

1 个答案:

答案 0 :(得分:2)

您仍然可以将调整后的平均生存率作为隐含的基线生存曲线"但是基于newdata的曲线的风险比将从1.0乘以exp(coef)。您输入的值代表您想要估算的要素,而expand.grid函数将创建协变量的所有2路组合。目前还不清楚你是如何对性进行建模的,但从输出中可以看出它是一个数字而不是一个因素,我将假设存在一个单位差异。尝试:

plot( survfit( my.fit, newdata=expand.grid(Sex=c(1,2), drug=factor(1:4) ) ) )