Stata极简生存分析

时间:2024-02-20 15:51:37

1. 导入数据

webuse drugtr,clear
*webuse -- Use dataset from Stata website
stset,clear
*上一行命令导入进来的数据是“生存时间数据”,会比最原始的数据多四列,这一行命令的目的是重置为原始数据,之所以这样做,是为了显示数据处理的全部过程
codebook drug
codebook studytime
codebook died
codebook age
*codebook -- Describe data contents

2. 将原始数据转换为生存数据

stset studytime,failure(died==1)
*指定生存时间为studytime列,终止(failure)事件为died列,其中值为1表示终止
stsum
stdescribe
sts list
*以上几个为描述命令

3. KM生存曲线

sts graph,by(drug)
*画KM生存曲线
sts graph if age < 50,by(drug)
sts graph,by(drug) risktable
*生存曲线下方加表格

4. log-rank检验

sts test drug
*检验两组差异是否显著,默认为log-rank检验

5. Cox比例风险模型

stcox drug
stcox drug age
*cox比例风险模型,可以解读为控制另一个(些)变量,当前变量对发生终点事件风险的影响

6. PH假定的检验

estat phtest
*Tests of proportional-hazards assumption,零假设为纳入Cox回归模型的变量满足PH假定

stphplot, by(drug)adjust(age)
*by(drug)adjust(age)表示控制age变量看drug对发生终点事件的影响
*从图形看PH假定,若两条线近似平行,可以认为是成立的