r - flexsurv 包:用于绘制两个研究组的 Kaplan-Meier 曲线预测的代码
问题描述
我用于数据输入的代码:
library(tidyverse)
library(survminer)
library(flexsurv)
library(survival)
library(finalfit)
data = read_delim("data.csv",
",", escape_double = FALSE, trim_ws = TRUE)
data = data %>%
mutate_if(is.character, as.factor)
简单模型在 KM 曲线上绘制了两个研究组的预测:
model1 = flexsurvreg(Surv(time, status) ~ group, dist="weibull", data = data)
plot(model1)
但是,当我将其他变量添加到模型中时,该图不会为 A 组和 B 组绘制单独的线。
model2 = flexsurvreg(Surv(time, status) ~ group + age + sex, dist="weibull", data = data)
plot(model2)
因此,我使用“newdata”参数为 A 组和 B 组绘制单独的曲线:
newdata = data.frame(group=c("A", "B"), age = 50, sex = c("f","m"))
然后在 KM 曲线上绘制模型预测:
KM = survfit(Surv(time, status) ~ group, data=data)
plot(KM, col="black")
lines(model2, newdata = mf, col = "red")
线条不会收敛太多,我想我弄清楚了问题所在。“newdata” 论点仅将 A 组受试者与女性结合起来,反之亦然。请查看汇总表:
我用于汇总表的代码:
summary(model2, newdata=newdata, ci = TRUE, tidy = T)
如何解决问题或获得 A 组(包括女性和男性)和 B 组(包括女性和男性)的预测?
这是代码和数据:R项目文件夹
解决方案
推荐阅读
- java - @Column 注释还不足以让 JPA 将一个驼峰式 Java 属性映射到数据库上的一个蛇形列吗?
- android-studio - 安装 android studio 时出现 Stacktrace.txt 错误
- filemaker - Filemaker Pro 18 从所有表中删除所有记录
- java - 无法弄清楚如何访问由 swagger 自动生成的 jaxrs 服务器中的请求标头
- flutter - OAuth2:注销后没有登录对话框,直接登录最后一个用户
- android - 在我的 Android 应用中的活动之间切换后,如何切换回上一个片段?
- python - 如何找到一个点在特定距离内的所有相邻点?
- django - 是否可以在没有 kwargs 的情况下在 django 中定义 success_url
- c# - 事件和代表的对立面?
- sql - 将名称之间的链接列表合并为一列