使用ggsurvplot绘制Kaplan-Meier曲线报错求解决,附代码与数据
问题:ggsurvplot绘制Kaplan-Meier曲线时报错
我用survival包的survfit()函数计算Kaplan-Meier生存曲线,代码能正常运行,但默认的plot()绘图不够直观。换成ggsurvplot()绘图时出现报错:
error in data frame, argument implies differing number of rows 419, 0, 838
核心变量说明:
death_fu_time_18m:18个月随访期内的生存时间DeathFlag_18m:结局事件标记(1=死亡,0=截尾)pdc_80_v0:分组变量,已转换为因子类型
数据集还有其他协变量。
补充细节:最初调用survfit()时使用type='kaplan-meier'会报错,改成ctype=1, stype=1后恢复正常。
示例数据
| death_fu_time_18m | DeathFlag_18m | pdc_80_v0 |
|---|---|---|
| 500 | 0 | 1 |
| 200 | 1 | 0 |
| 450 | 0 | 1 |
| 390 | 1 | 1 |
| 420 | 1 | 0 |
| 200 | 0 | 1 |
运行代码
# 计算Kaplan-Meier曲线 km_treat_t1 <- survfit(Surv(time = death_futime_18m, event = DeathFlag_18m) ~ pdc_80_v0, data = cgm_t1_excl_upd %>% filter(.imp == 1), # type = 'kaplan-meier', # 此参数会报错 ctype = 1, stype = 1) # 按每90天输出生存曲线摘要 summary(km_treat_t1, times = c(seq(1, 548, by = 90))) # 默认绘图可正常运行 plot(km_treat_t1) # 报错的ggsurvplot代码 ggsurvplot(km_treat_t1, conf.int = 'True', risk.table = T, ylim = c(0.80, 1.0))
内容的提问来源于stack exchange,提问作者Sharon Macwan
相关产品推荐
相关产品推荐

