上期生存分析推送后,有粉丝在后台问:有发生率的情况,为什么要做生存曲线分析?
举个例子:临床试验中,共招募30位胃腺癌患者,均分为3组,分别使用了A/B/C三套不同的治疗方案,治疗期为2年。2年后统计3个组每组均死亡3人,但A组0.5年时死亡3人,B组是1.5年时死亡3人,C组是接近2年时死亡3人。此时,如果单纯分析死亡率,3个组的死亡率完全相同。但是,如果用生存分析,就能看出3个组的患者生存情况明显不同。
进入今日正题......
上一期,我们提到了如何使用GraphPad Prism绘制生存曲线。
实际上,很多软件都可以绘制生存曲线并加以统计分析有这种功能,包括SPSS、Origin、Stata以及R语言等。
综合看来,GraphPad Prism更容易上手,简单有效。Stata和R语言涉及一丢丢编程语言,可能相对不太容易上手。
由于,有相当一部分人喜欢使用SPSS和Origin,因此今天就拿这两个软件说一说如何绘制生存曲线。
还是使用上一期的数据作为示例。
eg:一共有36只裸鼠,施加某因素用于制作模型后全部成模,并随机均分为A、B、C、D组,每组9只。随后A组被设定为control组,不做治疗。B、C、D组动物分别给予药物1、药物2、药物3治疗。生存时间小于等于50天作为终点事件(即50天内死亡),以此比较几组之间是否存在差异?
那么常见的原始数据如下图,数值为动物存活天数。
SPSS篇
1. 将上表中的数据重新编码为以下格式。state中的1代表死亡(裸鼠存活≤50天),而0代表存活(裸鼠存活>50天)。treatment中的1代表control,2/3/4分别代表3种药物。
2.仅复制数据(不要复制标题)到SPSS数据表中,然后再定义列名称和值标签。
3. 数据放好后,选择分析 → 生存分析 → Kaplan-Meier。
注:Kaplan-Meier是生存函数,允许有一个分组变量进行生存率的组间比较,还可容许一个分层变量,是生存分析的常用统计方法。
4. 在弹出的对话框中,按照下图将数据放入相应框中。
5. 注意了。我们要看不同组之间生存率的差异,关键事件为动物死亡,编码数据时就将死亡编码为1,而存活则编码为0。所以,点击“定义事件”,单值填1,1代表了动物死亡这个事件已发生,再点击继续。
有人会问,如果我选择单值填0呢?大多数动物生存时间小于50天,仅少量动物生存大于50天。因此“≤50天”内的生存差异成为关注的焦点。如果选择单值填0,此时软件认为你关注的焦点在大于50天之后,即50天后存活的动物存活期差别,生存曲线也会彻底改变。大家可以试试,比较一下。
6. 点击“选项”,选择“生存分析函数”,其它选项默认,点击继续后,再点击确定。
7. 在输出文档中,可以看到生存曲线。样子是有了,就是不太美观。
Origin篇
1.Origin的数据录入格式与SPSS一样,只不过需要将标题一起复制粘贴到Origin数据表之中。
2. 粘贴到F(x)这一栏下方,并修改列标题名称,如下图。
3. 继续按照下图选择Kaplan-Meier分析
4. 在弹出的对话框中,按照下图设置。点击小三角符号,将标题分别填入。
5. 注意了。Censoring Value(删失值)处设置为0。解释一下,在生存分析中,只要没有发生关键事件(如意外、病例脱落等)的情况,这种值都要定义为删失值,此值需定义为0,因为它没有发生死亡这个关键事件。当然了,删失值不能太多,否则会影响生存分析结果的可信度。
6.将 Test Equality处的三种差异分析方法都选上。所有其它选项默认,点击OK。
7.输出的生存曲线效果如下。当然了,Origin支持对图形就行修改和美化,此处暂且不表。
Ending