重复测量数据:提取生存时间
纵向数据
重复测量如果是纵向数据,即每次测量一条记录,同一个研究对象(ID)有多条记录,要找出某事件 (event) 第一次发生时的测量记录,并与第一次测量时间或开始观察时间相比,计算事件发生时间(Time to event),观察结果是1(事件发生)。如果整个观察期间没有事件发生,观察结果是0(截尾),并到将最后一次观察记录时间与第一次测量时间或开始观察时间相比,得出观察时间。这就是常用到的生存分析需要的结结局变量(事件发生状态与生存时间)。
如 Charls 数据,每个研究对象最多5次测量,WAVE (取值1、2、3、4、5)表示第几次测量,每次测量一条记录,一个ID最多有5条记录。变量 IWY 表示测量年份,IWM表示测量月份。变量 STROKE 表示是否患中风(1=是 0=否)。 现在要提取中风的生存状态(EVENT: 是否发生中风)与生存时间(TIME2EVENT: 如发生中风,记录首次发生中风时的随访时间;如从未发生中风,记录最长随访时间)。
提取“事件发生状态与生存时间”变量,有两种方法实现。
1. 使用易侕统计专业版”纵向数据转换成横向数据“模块,页面设置如下:
首先要设置 ID变量名:ID,指示/访问变量名:WAVE,事件(0/1)变量:STROKE,转换变量:IWY与IWM,勾选“提取第一次事件发生时的转换变量取值,如没有事件发生提取最后一次访问的值”。然后选择要保留哪条记录,此处定义为第一条记录,其它选项有“最后一条记录”,或“自定义条件的记录”,要保留哪些变量,此处选择了HOUSEHOLDID、COMMUNITYID、RABYEAR、RABMONTH 等。
点击查看结果,运行结束后输出:
Transpose multiple records to variables
Variables in original data:
ID.TMP, IWY, IWM, HOUSEHOLDID, COMMUNITYID, RABMONTH, RABYEAR, RAGENDER, NATION, ID, WAVE, STROKE
Number of lines in original data: 96628
Number of lines in original data after remove event = NA: 71658
Variables in new data (_d_14QEZo.xls):
ID, HOUSEHOLDID, COMMUNITYID, RABMONTH, RABYEAR, RAGENDER, NATION, IWY, IWM, STROKE, IWY.EVENT, IWM.EVENT, STROKE.EVENT, WAVE.EVENT
Number of lines in new data (_d_14QEZo.xls): 24820
原数据一次随访一条记录,除掉STROKE = NA 后共71658条记录;输出数据一个ID一条记录,共24820条记录。输出文件中有第一次测量(WAVE=1)的IWY与IWM,即开始随访年份与月份。STROKE.EVENT 是中风的随访状态,1表示发生中风,0表示从未发生中风;IWY.EVENT、IWM.EVENT 即事件第一次发生时的随访年份与月份(如发生中风),或最后一次随访年份与月份(如从未发生中风)。下一步可由 IWY.EVENT、IWM.EVENT、IWY、IWM计算中随访月数或年数,即TIME TO EVENT。
2. 使用易侕统计专业版“按ID或时间窗计算统计量”模块,页面设置如下:
首先要设置 ID变量名:ID,时间变量名:WAVE,事件(0/1)变量:STROKE,要计算的变量:IWY与IWM,当没有勾选任何“要计算的指标”时,表示提取第一次发生事件时的变量取值,如没有事件发生,提取最后一次访问时的值。输出数据中IWY.0, IWM.0, STROKE.0 是基线(第一次测量)值;IWY.EVENT, IWM.EVENT, STROKE.EVENT 是第一次发生STROKE或最后一次测量值。STROKE.EVENT即生存状态,根据 IWY.EVENT IWM.EVENT 计算其与 IWY.0 IWM.0 之差,即生存时间。
Transpose multiple records to variables
Variables in original data:
ID, WAVE, IWY, IWM, STROKE
Number of lines in original data: 96628
Variables in new data (_d_14PL4f.xls):
ID, IWY.0, IWM.0, WAVE.0, STROKE.0, WAVE.EVENT, STROKE.EVENT, IWY.EVENT, IWM.EVENT
Number of lines in new data (_d_14PL4f.xls): 24820
横向数据
如果是横向数据,一个研究对象(ID)一条记录,每次的观测结果与测量时间是用不同的变量来记录的,可以通过简单的条件语句来计算事件发生状态与生存时间。如有5个变量:D1、D2、D3、D4、D5 表示观测结果,5个变量:T1、T2、T3、T4、T5 表示观测时间。简单的条件判断方法:
EVENT = 0;TIME2EVENT = NA
IF (D1 = 1) {EVENT = 1; TIME2EVENT = T1}
ELSE IF (D2 = 1) {EVENT = 1; TIME2EVENT = T2}
ELSE IF (D3 = 1) {EVENT = 1; TIME2EVENT = T3}
ELSE IF (D4 = 1) {EVENT = 1; TIME2EVENT = T4}
ELSE IF (D5 = 1) {EVENT = 1; TIME2EVENT = T5}
如果不想自己编写条件语句,也可以使用易侕统计 “横向数据转换成纵向数据”模块先转换,再使用前面所讲的“按ID或时间窗计算统计量”或“纵向数据转换成横向数据”模块,生成事件状态与生存时间变量。


No comments to display
No comments to display