生存分析的SAS编程操作松柏书屋_第1页
生存分析的SAS编程操作松柏书屋_第2页
生存分析的SAS编程操作松柏书屋_第3页
生存分析的SAS编程操作松柏书屋_第4页
生存分析的SAS编程操作松柏书屋_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、生存分析的sas编程操作薛 富 波2006/05/211专业课堂生存分析的有关概念n事件时间(time-to-event,tte):又称为生存时间(survival time)或失效时间(failure time),是指从研究开始到相应事件发生的时间。n删失值(censored value):是指tte在某些观测上其确切的取值是未知的,所能知道的仅仅是其测量值肯定大于或小于某个特定值(即其取值的下限或上限),或者位于某个特定的取值范围内(取值区间)。n右侧删失:反映真实值下限的数据。n左侧删失:反映真实值上限的数据。n区间删失:反映真实值所在区间的数据。2专业课堂生存分析的方法分类n非参数法:

2、乘积极限法、寿命表法等;n参数法:指数分布法、威布尔分布(weibull distribution)法、对数正态回归分析法以及对数logistic回归分析法等;n半参数法:cox模型分析方法。3专业课堂生存分析方法的sas过程n非参数法:lifetest过程;n参数法:lifereg过程;n半参数法:phreg过程。4专业课堂生存分析的非参数方法5专业课堂非参数法生存分析示例1n45例乳腺癌患者中,免疫过氧化物酶检测结果显示9例阳性、36例阴性,比较其生存时间分布的sas程序如下。proc lifetest plots=(s); time time*censor(1); strata immu

3、no;run;6专业课堂非参数法生存分析示例2proc lifetest data=valung method=lt; time survtime*censor(1); strata cell;run;一项有关肺癌患者生存天数的临床研究数据。应变量survtime表示患者生存天数,其中的负值表示删失值;协变量包括cell(细胞类型)、治疗方法therapy(标准方法和试验方法)、既往治疗prior(0-无,10-有)、年龄age(岁)、诊断月数diagtime(确诊至入组时的以月为单位的时间间隔)、kps评分kps等。数据中产生一个删失值指示变量censor(取1表示删失,取0表示非删失),一

4、个治疗分组变量treatment(0表示标准方法,1表示试验方法)。7专业课堂lifetest过程n用以对右侧删失类型的时间数据进行时间分布的描述以及多组间时间分布的比较(检验两个或多个样本是否来自具有同一个生存函数的总体);n提供两种秩检验方法和一种似然比检验方法来检验多组生存函数的同一性,两种秩检验方法为包括广义savage(指数得分)检验(即log-rank检验)和wilcoxon检验。 8专业课堂lifetest过程可包含的语句proc lifetest ; time variable ; by variables ; freq variable ; id variables ; st

5、rata variable . variable ; survival options ; test variables ; run ;9专业课堂proc lifetest语句nproc lifetest语句为调用lifetest过程的开始,其主要语句选项及其可执行的功能见下表。10专业课堂proc lifetest语句的主要选项选 项功能和用法method=设置用以计算生存函数估计值的方法。此选项可设置的值及其含义如下:“pl”(或“km”)乘积极限法(或kaplan-meier法);“act”(或“life”或“lt”)寿命表法。默认设置为“method=pl”。intervals=指定用

6、以计算寿命表的区间端点。区间端点必须为非负数,无论指定的区间端点中有无0,寿命表的计算总是以0为第一个区间的起点,而每一个区间只具有下端点而无上端点(即为半开半闭区间)。ninterval=指定寿命表区间的个数,此选项可被“width=”和“intervals=”所覆盖。当设置“ninterval=”选项时,lifetest过程将根据所设置的区间个数划分寿命表的区间,但区间端点将会作适当的调整,使其以整数的形式出现。因此,最终划分的区间数不一定与设置的区间数完全相符。默认设置为“ninterval=10”。width=以寿命表法计算生存函数估计值时,指定寿命表的区间宽度。此选项可被“inter

7、vals=”所覆盖。plots=为生存函数估计值或删失值绘制图形。其完整设置形式应为“plots= ( type , ., type )”,其中“type”代表绘图的类型,“name=name”表示将所绘图形以指定的名称存储为sas目录的条目(entry),其中“name”为关键字(可为小写),“name”为用户指定的条目名称。关于绘图类型详见“plots=”选项的绘图类型。nocensplot当设置了“plots=”选项时,禁止将删失值显示在图形中。当选择寿命表法进行计算时,无需设置此选项。timelist=指定一系列时间点,从而在结果中针对这些时间点显示相应的kaplan-meier估计值

8、,该时间点在输出结果中所在的列以“_time_”为标识。alphaqt=指定生存时间四分位数间距可信区间的置信水平(须在0.00010.9999之间),默认设置为“alpha=0.05”。11专业课堂intervals=选项的设置方法n端点值间以空格分隔,如“intervals=10 30 50 70”;n端点之间以逗号分隔,如“intervals=10,30,50,70”;n“a to b”的形式,如“intervals=1 to 7”;n“a to b by c”的形式,如“intervals=1 to 7 by 2”;n混合方式,如“intervals=1,3 to 7, 10”。12专

9、业课堂plots=选项的绘图类型 log( log()sdflog()time绘图类型关键字绘图类型censored 或 c绘制各层有关删失值情况的图形survival 或 s以生存分布函数估计值对时间绘图logsurv 或 ls以生存分布函数估计值的对数对时间绘图loglogs 或 lls以 对时间的对数 绘图hazard 或 h以风险函数估计值对时间绘图pdf 或 p以概率密度函数估计值对时间绘图13专业课堂strata语句nstrata语句的作用是指定用以分层的变量;nlifetest过程根据strata变量的非缺失值对输入数据进行分层;n如果要将strata变量的缺失值也作为一个合法的

10、水平用以分层,可在strata语句中设置“missing” 选项;nstrata语句中可指定多个分层变量,分层情况将由各分层变量水平的组合来决定;n对于数值型分层变量,若为其设置分层区间端点列表,该变量的水平与形成的区间一一对应,设置方式与proc lifetest语句的“intervals=”选项中类似 ;n对于数值型分层变量,若为其设置分层区间端点列表,该变量的水平与形成的区间一一对应。所划分的区间均为半开半闭区间,第一个区间总是以-为下界,最后一个区间总是以为上界。14专业课堂strata语句分层区间端点列表设置方式端点值间以空格分隔,如: strata age(5 10 20 30);

11、端点之间以逗号分隔,如: strata age(5,10,20,30);“a to b”的形式,如: strata age(5 to 10);“a to b by c”的形式,如: strata age(5 to 30 by 10);混合方式,如: strata age(5,10 to 50 by 10);举例:strata wt(50 to 80 by 10);此时变量wt将按照如下的5个区间划分成5个水平:(,50),50,60),60,70),70,80),80,)15专业课堂test语句ntest语句指定需要与生存时间进行关联性分析的协变量;ntest语句中的变量必须为数值型;n对于t

12、est变量,lifetest过程将通过两类秩检验统计量来检验它们与生存时间的关联性;n每一个test变量的单变量检验的统计量也将被给出;n一个有关协变量联合效应的统计量列表也将被给出,此统计量列表的顺序和各协变量对联合效应贡献的大小顺序相一致。16专业课堂time语句ntime语句为调用lifetest过程所必需,用以指定代表生存时间的变量。ntime语句具有如下的形式: time variable ;n其中“variable”即为生存时间变量的名称,此变量名称必须指定;n随后的星号“*”及“censor(list)”项可有可无,用来表示数据的删失值情况。“censor”为代表删失值状况的变量

13、名称,“(list)”为该变量的部分取值列表(须为数值型,且不是缺失值),如果此变量取该列表中的值,则该观测上的生存时间为删失值;n此处的删失值均表示右侧删失值。17专业课堂生存分析的半参数方法18专业课堂半参数法生存分析示例1proc phreg data=myeloma; model time*vstatus(0)=logbun hgb platelet age logwbc frac logpbm protein scalc / selection=stepwise slentry=0.15 slstay=0.15 details;run;一项有关骨髓瘤患者生存时间的研究数据,治疗了65

14、例患者,研究中48名患者死亡,17名存活。变量time表示患者从确诊之日起的生存时间;变量vstatus表示患者的生存状态,0代表存活,1代表死亡。怀疑与生存函数有关的变量包括logbun(确诊时bun对数值),hgb(确诊时hgb),platelet(血小板,0-异常,1-正常),age(年龄),logwbc(确诊时白细胞对数值),frac(确诊时骨折发生,0-无,1-有),scalc(确诊时血清钙含量)。分析目的在于从该9个解释变量中鉴别出重要的预后因素。19专业课堂phreg过程nphreg过程针对生存数据执行基于cox比例风险模型(cox proportional hazards mo

15、del)的回归分析;n可以检验有关回归参数的线性假设;n针对配对病例-对照研究执行条件logistic回归分析过程;n创建包含有关统计量的输出数据集等。20专业课堂phreg过程可包含的语句proc phreg ; model response = variables ; strata variable .variable ; test equation1 ; freq variable ; weight variable ; id variables ; output ; baseline ; by variables ; run ;21专业课堂proc phreg语句nproc phreg

16、语句为调用phreg过程的开始,语句中可设置的语句选项较少,其设置方法及功能详见下表。22专业课堂proc phreg语句选项选 项功能和用法covout要求将各参数估计值的协方差矩阵输出到“outest=”选项所指定的输出数据集中。此选项须在设置了“outest=”选项的情况下方有效。covsandwich 要求给出协方差矩阵的lin-wei稳健三明治估计值(robust sandwich estimate)。设置此选项时,上述方法还将被用于总体假设的wald检验,各参数的假设检验以及与test语句有关的假设检验。该选项中“(aggregate)”为可选项,如果设置此项,则在协方差矩阵的计算

17、中要求将每一id标识(须存在id语句以指定id变量)的得分残差进行合计。data=指定要进行分析的输入数据集名称。multipass对于每一步newton-raphson迭代,要求phreg过程对“(start,stop)”(区间型)型应变量的生存时间风险集(risk set)进行重新编排,并重新计算其中时间依赖型变量(由programming语句所指定)的值。此选项的作用在于以增加计算时间为代价而减少程序运行对磁盘空间的占用,这在大样本数据处理时非常有用。此选项仅在应变量(生存时间)为区间型时有效。noprint禁止任何输出结果的显示。nosummary禁止结果中对删失值和非删失值观测频数的

18、显示。outest=指定一个输出数据集,用以存储回归系数估计值等若干统计量。如果同时设置了“covout”选项,该输出数据集中还将包含各参数的协方差矩阵。simple对于model语句中所指定的自变量,要求在输出结果中仅显示有关的简单统计量,如均数、标准差、最小值以及最大值等。23专业课堂model语句nmodel语句用来指定作为失效时间的变量、可选的删失值状态变量以及自变量等。nmodel语句可设置为两种不同的形式: model response = variables ; model (t1, t2) = variables ;n第一种类型适用于仅有一个应变量的情况,第二种类型适用于计数过

19、程输入方式的两个应变量的情况;nmodel语句的第一种类型中,等号前的“response”项代表作为失效时间的变量,如果包含删失值,则须指定“censor”项,以表示删失值状态;nmodel语句的第二种类型中,表示失效时间的变量为两个,构成一个半开半闭区间,表示观察对象处于危险状态的时间区间。nphreg过程要求删失值状态变量和自变量必须为数值型变量,失效时间变量不能取负数值。如果失效时间的取值为负数,相应的观测将被剔除。 24专业课堂model语句的主要选项选 项用法和功能ties=指定对失效时间中同秩情况的处理方法。“ties=”选项可设置的值及其含义:“breslow”breslow近似

20、概然法;“discrete”将比例风险模型以离散logistic模型取代;“efron”efron近似概然法;“exact”计算精确的条件概率。该选项的默认设置为“ties=breslow”。selection=指定模型筛选的方法。该选项可设置的值及其含义:“backward”后退法;“forward”前进法;“none”不进行变量筛选,拟合包含全部model语句所指定自变量的模型;“score”根据得分2检验统计量执行最佳子集模型筛选法;“stepwise”逐步法。默认设置为“selection=none”。best=此选项仅在设置“selection=score”的情况下有效,用以指定最佳

21、子集中模型的个数。details给出模型建立(模型筛选)过程有关的详细信息。sequential要求变量的入选顺序与其在model语句中的排列顺序相一致,变量的剔除顺序与其在model语句中的排列顺序相反。slentry=以前进法或逐步法筛选变量时,指定变量进入模型的显著性水平,默认值为0.05。slstay=以后退法或逐步法筛选变量时,指定已进入模型的变量继续留在模型中的显著性水平,默认值为0.05。25专业课堂编程语句(programming statements)n是指可用于phreg过程的其它sas语句(主要为data步的常用编程语句),用来创建新的自变量的取值,或修改自变量的已有取值

22、;n此类语句尤其在拟合包含时间依赖型自变量的模型时非常有用;n它们还可被用于创建新的非时间依赖型自变量;ndata步的各种函数也可在phreg过程中使用,其用法也完全相同,执行完全相同的功能。26专业课堂可用于phreg过程的data步语句abort 语句array语句赋值语句(assignment statements)call语句do语句循环do语句do until语句do while语句end语句goto语句if-then/else语句link-return语句put语句select语句sum语句27专业课堂编程语句的操作示例考察血压对生存时间的影响,在研究期间的多个时间点上测量受试者的

23、血压。血压可看作时间依赖型自变量,拟合模型时可以在每一时点上应用最近测量的血压值,而不是全部应用最初的或最后的血压测量值。针对每一位受试者,右侧变量的取值均被测量,如果无条件或无法测出,则以缺失值取代。time 生存时间censor 删失值状态(0表示删失值)bp0 受试者进入研究时的血压t1 时刻1bp1 时刻1的血压测量值t2 时刻2bp2 时刻2的血压测量值proc phreg; model time*censor(0)=bp; bp = bp0; if time=t1 and t1=. then bp=bp1; if time=t2 and t2=. then bp=bp2; run ;28专业课堂strata语句n比例风险假设不一定对所有的数据均适用,如果确实如此,对数据进行分层分析就十分必要和合理;nstrata语句用来指定用以分层的变量,phreg过程根据strata变量的非缺失值(除非语句中设置“missing”选项)对输入数据进行分层。29专业课堂半参数法生存分析示例2(条件logistic回归模型)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论