Chapter 3 生成生存时间变量
当你的生存数据不是直接提供 time
(随访时长,单位:天)与 status
(结局状态:0=截尾/未观察到事件,1=事件发生),而是以两个日期表示(如“开始观察日期”“结束/事件日期”),本模块可将两日期相减,自动生成生存时间变量 time
(天) 并加入数据集中。
本页只生成时间差(天)。
status
变量请在其它页面准备或校对(如“数据标签批量替换”或在原始数据中整理)。
3.0.1 何时使用 / 何时跳过
适合使用:手头只有开始日期与结束/事件日期两列,需要计算生存天数用于后续 Kaplan–Meier、Cox 等分析。
建议跳过:数据中已经有合格的
time
列;暂不做生存分析;日期字段混乱未清洗(请先规范日期格式再来)。
3.0.2 概念速览(与方案一致最重要)
开始观察日期:与研究目的对应,可是研究开始日、随机化日、首次诊断日、首次治疗日等。请按你的研究方案选用。
结束观察日期:
若发生事件(如死亡/复发):取事件发生日;
若未发生事件:取末次随访日或研究截止日。
status 含义(本页不生成):建议
1=事件发生
,0=未发生(截尾)
。请确保与结束日期的定义一致配套。
首先务必按照下面的格式准备数据(网站上可下载,下载后在此基础上修改):
日期格式为:
导入数据后,需要在“定义字段”的模块将字段属性设置为”character”或 “factor”,请务必不要设置为“date”:
3.0.8 结果查看与下载
上方文字区域会提示:系统将两个日期差值作为
time
(天)新增到右侧;下方页签可切换 “原始数据” 与 “新数据” 进行对比核对;
点击 “下载修改后数据” 导出
new_surv_data-YYYY-MM-DD.xlsx
。
3.0.9 警告信息解读
“存在日期缺失”:某些行的开始或结束日期为空,新
time
将为 NA;请核对源数据或先做缺失处理。“结束日期早于开始日期”:常见于列选择错误或数据录入错误。请检查:
是否反选了列;
是否存在日期拼写/录入错误;
是否跨时区/跨日历导致的异常(极少见)。 该情形下,系统不会写入新列,请修正后重试。
“无法解析的日期格式”:不同格式混用(如
2024-01-05
与5/1/24
混在同一列)会导致解析失败。请先统一为同一种格式(推荐 YYYY-MM-DD)。
3.0.10 质量核对清单(强烈建议)
非负性:
time
应 ≥ 0;大量负值或异常大值表示日期选择或数据源有问题;缺失比例:统计
time
的缺失行数,必要时回到“缺失值填补”或数据清洗环节;分布合理:是否与疾病自然史、随访周期一致(过多的 0 天或极端长尾需要解释);
与
status
一致:事件=1 的行其结束日期应为事件日;截尾=0 的行应为末次随访日;命名可读:如
OS_time_day
、PFS_time_day
,在报告中更直观。
3.0.11 与后续生存分析的衔接
完成本页后,你应拥有:
- 时间
time
(单位:天); - 状态
status
(0/1)(请在其它页面准备或复核)。
- 时间
在生存分析模块(KM 曲线、Cox 回归等)中直接选择
time
与status
即可。如需按月/年展示,可在“生成新变量”模块中基于
time
派生time_month = time/30.44
等,但建模时建议保留天作为基础单位。