我主要使用软件包 survival 和 survminer 进行生存分析。
我的数据集大约有150万行,每一行代表一个唯一的患者。
我在模型中使用的变量是:
-年龄基准和检查者的年龄(作为基础时间变量)
-死亡(如果已死亡,则b = 1,否则为0)
-condition_profile(因子有8个级别,每个条件一个)
-性别
-吸烟
-index_multiple_deprivation
我的模型定义如下:
cox_model<-coxph(Surv(age_baseline,age_censor,death)~condition_profile+gender+smoking+index_multiple_deprivation, data=df)
我的主要目标是绘制调整后的生存曲线(每个condition_profiles一个)。
为此,我使用了以下代码:
plot_surv<- ggadjustedcurves(cox_model, variable = "condition_profile", method = "marginal", palette = "hue",ylab = "Survival rate (marginal)", size = 1, ggtheme = theme_survminer())
我已经尝试了方法 marginal 和 average (同样,如果后者不平衡并且在https://cran.r-project.org/web/packages/survival/vignettes/adjcurve.pdf中不推荐使用)。
在两种情况下,我都会收到以下错误:错误:无法分配大小为1048.2 Gb的向量
显然,单独计算约150万名患者的存活曲线并使用模型的规格,会占用太多内存。
我正在寻找:
1.一种增加内存的方法R Studio服务器已分配给该进程(但我不是唯一的R Studio用户,我无法使用sudo特权与服务器本身进行交互)。
2.另一解决方案,用于为每个condition_profile绘制调整后的生存曲线。
3.可以提出的任何解决方案。 :)
非常感谢您的宝贵时间。
最好,
玛丽