我想绘制一个Cox模型的估计生存率如何取决于目标协变量的值,而其余变量固定为它们的平均值(如果它们是连续变量)或虚拟变量的最低值。在此示例http://www.sthda.com/english/wiki/cox-proportional-hazards-model之后,我构造了一个新的数据帧,该数据帧包含三行,每行对应于我感兴趣的变量的每个值;而其他协变量是固定的。在这些协变量中,我有两个因子向量。我创建了新数据集,然后将其通过newdata参数传递给survfit()。
将数据帧传递给survfit()时,获得以下错误消息error in relevel.default(occupation) : 'relevel' only for factors
。问题的根源在哪里?如果问题的根源与因子向量有关,我该如何解决?下面找到代码示例。不幸的是,我无法共享数据或找到产生相同错误消息的数据集:
在cox模型和新数据集中,我已经将因子变量转换为整数向量。它不起作用。 我已经删除了所有因子变量,并且它可以正常工作。 我已尝试实施此策略,但没有成功:Plotting predicted survival curves for continuous covariates in ggplot
fit <- coxph(Surv(entry, exit, event == 1) ~ status_plot +
exp_national + relevel(occupation, 5) + age + gender + EDUCATION , data = data)
data_rank <- with(data,
data.frame(status_plot = c(1,2,3), # factor vector of interest
exp_national=rep(mean(exp_national, na.rm = TRUE), 3),
occupation = c(5,5,5), # factor with 6 categories, number 5 is the category of reference in the cox model
age=rep(mean(age, na.rm = TRUE), 3),
gender = c(1,1,1),
EDUCATION=rep(mean(EDUCATION, na.rm = TRUE), 3) ))
surv.fin <- survfit(fit, newdata=data_rank) # this produces the error
答案 0 :(得分:0)
查看代码,您可能已尝试采用均值的方法。因此,请至少张贴str(data)
作为对问题正文的修改。您还应该意识到,您可以在data.frame
调用中为列赋予一个单一值,并将其回收为正确的长度,所有方法均应s could be entered as a single item rather than
rep`-ng。