这个例子展示了如何计票过程生存数据转换为形式,然后构造一个协变量Cox比例风险模型与时间。
协变量Cox模型与时间需要在计算过程中生存数据形式而不是标准布局。看到生存的区别标准布局和计算过程中数据的形式,加载下面的示例数据。
负载simplesurvivaldata
这个样本数据包含两个表:复发
和relapseCP
。这两个表表示相同的标准布局和计算过程中简单的生存数据形式,分别。
显示数据在标准布局。
复发
复发=2×5表ID时间审查年龄StopTreatment __ ___ ____ ____ _________________ 1 5 0 20南2 20 30 12
这个数据代表两个病人的治疗地位会随着时间而改变。患者1不采取治疗的时间间隔从周0到5和复发的时间间隔。病人2正在治疗的间隔一周0到12,但不是从第12周间隔为20。病人2没有复发,离开了研究后20周。
现在在计票过程形式显示相同的数据。
relapseCP
relapseCP =3×6表ID tStart tStop审查年龄TreatmentStatus __ _____ _____ _____ ___售予1 0 5 0 20 0 2 0 12 1 30 1 2 12 20 30 0
在计算过程中形式,每一行代表风险区间(tStart tStop]
而不是一个事件的时间的价值。审查
是0如果事件是观察到的风险区间,如果不是和1。TreatmentStatus
对应于一个依赖于时间的协变量,代表相同的信息StopTreatment
在标准布局。请注意,协变量Cox模型假定时间常数在每个风险区间。
接下来,加载示例数据转换。
负载survivaldatacp
这个示例数据包含一个表实验室
生存,这是模拟数据包括每个病人的重复测量标准布局。
显示模拟生存数据在标准布局。
实验室
实验室=6×7表ID时间审查性Lab_0 Lab_50 Lab_100 __ ___ ____ ____ ____专攻1 46 0 138 0.3南南2 1 3 0 0.2 0.23 0.39 0.18 - 0.22 94 0 1南4 50 0 0 0.21 0.2南5 106 0 0 6 98 0 0 0.25 0.21 0.42 0.21 0.22南
在标准布局,表的每一行显示了一个病人信息。
ID
表明病人的ID。你不包括ID
作为输入的Cox模型。包括ID
在确认数据集的数据集是正确的计票过程转化为形式。
时间
代表时间在天,这对应于一个响应变量。
审查
每个病人的审查信息,1表示审查数据和0事件表明,确切的时间是观察到的观察期。
性
是一个长期有效的预测,其中1表示女性,0表示男性。
Lab_0
,Lab_50
,Lab_100
代表三个连续实验室结果以0天,50岁,到100年,这对应于一个依赖于时间的预测。
转换的生存数据实验室
计算过程的形式,执行下面的代码。这段代码转换时间
一个风险区间(tStart tStop]
并结合三个向量的时间预测,Lab_0
,Lab_50
,Lab_100
,为一个向量,实验室
。
mTime = 50 100] [0;%的测量时间threeLabs =[实验室。Lab_0实验室。Lab_50实验室。Lab_100]; nLabMeasure = sum(sum(~isnan(threeLabs)));%的实验室测量data = 0 (nLabMeasure 6);%为每个观察一行oID = 0;%观察ID为i = 1:尺寸(实验室,1)idx =找到(mTime < = labS.Time (i));为j = 1:长度(idx) 1 oID = oID + 1;:数据(oID) = [labS.ID (i) mTime (j: + 1) 1 labS.Sex (i) threeLabs (i, j)];结束oID = oID + 1;:数据(oID) = [labS.ID (i) mTime(长度(idx)) labS.Time(我)…labS.Censoring (i) labS.Sex (i) threeLabs(我、长度(idx)));结束labCP =表(数据(:1),数据(:,2),数据(:,3),数据(:,4),数据(:,5),数据(:,6),…“VariableNames”,{“ID”,“tStart”,“tStop”,“审查”,“性”,“实验室”});
显示计数过程中的生存数据的形式。
labCP
labCP =13×6表ID tStart tStop审查性实验室__ _____ _____ _____ ___ ____ 1 50 0 46 0 1 0.3 - 2 0 1 0 2 50 100 1 0 0.23 0.2 0.39 100 138 1 0 3 0 1 1 0.18 3 50 94 0 1 0.22 0.21 4 0 50 1 0 4 50 50 50 0 0 0.2 5 0 1 0 5 50 100 1 0 0.21 0.25 0.42 5 100 106 0 0 6 0 50 1 0 6 50 98 0 0 0.22 0.21
在计算过程中形式,表的每一行labCP
显示信息的一个观察对应一个风险区间。请注意,Cox模型假定实验室
常数的风险区间(tStart tStop]
。的价值审查
是0如果事件是观察到的风险区间和1如果没有观察到的事件。
例如,病人3有两个实验室测量值在0到50天,所以有两个计算过程中患者3行数据形式。Cox模型假定实验室结果0.18和0.22恒定的时间间隔(0,50)和(94),分别。审查
1(0,50)和0(94),因为病人的具体事件时间3是94天。
找到一个病人有一个长度为零的风险区间。
idxInvalid = labCP.ID(找到(labCP。tStart = = labCP.tStop))
idxInvalid = 4
评估病人的数据4。
labCP(找到(labCP.ID = = idxInvalid):)
ans =2×6表ID tStart tStop审查性实验室__ _____ _____ _____ ___ ____ 4 0 50 1 0 50 50 0 0 0.2 0.21 - 4
患者4的时间事件伴随着测量50天。然而,(50,50]是一个无效的风险区间Cox模型由于模型不接受一个零长度区间。调整风险区间是有效的。你可以选择任何值小于时间单位作为调整金额。调整数量的选择是任意的,它不会改变结果。
idxAdjust =找到(labCP.ID = = idxInvalid);labCP.tStop (idxAdjust (1)) = labCP.tStop (idxAdjust (1)) -0.5;labCP.tStart (idxAdjust (2)) = labCP.tStart (idxAdjust (2)) -0.5;labCP (idxAdjust:)
ans =2×6表ID tStart tStop审查性实验室__ _____ _____ _____ ___ ____ 4 0 49.5 - 1 0 50 0 0 0.2 49.5 0.21 - 4
适合长期有效的变量Cox比例风险模型性
和时间变量实验室
。
X = [labCP。性labCP。实验室]; T = [labCP.tStart labCP.tStop]; b = coxphfit(X,T,“审查”labCP.Censoring,“基线”,0)
b =2×12.0054 - 29.7530
有关如何评估一个Cox比例风险模型,明白了Cox比例风险模型审查数据。