楼主: GraphPad_China
2317 2

GraphPad Prism 生存分析-如何进行Kaplan-Meier(非参数)生存分析 [推广有奖]

  • 0关注
  • 2粉丝

讲师

59%

还不是VIP/贵宾

-

威望
0
论坛币
539 个
通用积分
938.7990
学术水平
3 点
热心指数
2 点
信用等级
0 点
经验
9167 点
帖子
208
精华
0
在线时间
334 小时
注册时间
2020-4-26
最后登录
2025-12-31

楼主
GraphPad_China 在职认证  发表于 2024-12-2 11:23:59 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

本文涵盖了Prism中可用的生存分析方法,包括Kaplan-Meier生存估计以及使用Cox比例风险回归进行生存分析。这两种方法截然不同,它们在各自的页面上都有详细的解释。


  • 生存分析的基本概念
  • Prism中的生存分析方法
  • 如何进行Kaplan-Meier(非参数)生存分析
  • Kaplan-Meier生存分析的结果
  • 如何进行Cox比例风险回归
  • Cox比例风险回归的结果


如何进行Kaplan-Meier(非参数)生存分析


本期介绍在Prism中进行Kaplan-Meier生存分析所需的关键步骤。

创建生存数据表格

从“欢迎”或“新建表格”对话框中,选择“生存”标签。如果您还没准备好输入自己的数据,选择“使用示例数据进行教程”并选择一个教程数据集。

输入生存时间


在Prism中为每个对象输入感兴趣事件的生存时间。按照以下准则在表格中的单独一行输入每个对象的生存时间:


  • 将时间输入为从开始跟踪(您正在跟踪的事件)到感兴趣事件(死亡,或任何其他您正在跟踪的事件)的时间,在X列中输入。请注意,如果您从自己的数据开始,Prism为输入生存时间提供了两种选择:

  • 将生存时间输入为天数(或月数…)。对于此选项,使用任何方便的单位,例如天或月。请注意,这些是生存时间,因此不需要指定时间零。
  • 如何开始和结束日期。对于此选项,必须为每次观察如数开始(零)时间和结束时间的日历日期。Prism将计算这两个日期之间的差异作为观察的生存时间。


  • 可选地,可以使用行标题来标识每个对象/参与者。


  • 在Y列中,对于对象在X列所示时间或结束日期经历了感兴趣事件的行输入“1”,对于对象未经历该事件的行输入“0”。请注意,每一行在单个Y列中必须有一个0或1。任何Y列中没有0或1的行将从分析中排除。


  • 将属于不同处理组的对象输入到不同的Y列(每个组一个Y列)。每行应仅在一个Y列中有值。例如,如果前10行对应于对照组的成员,而后10行对应于处理组的成员,数据可能看起来像这样:


1.png


然而,请注意,并没有理由要求组必须以这种方式分开。只要正确的生存时间与正确的结果(同一行中对照组(列)中的1或0)相关联,分析结果将是相同的。例如,上述数据也可以这样输入:


2.png


  • 建议利用已知的数据关系来帮助数据的有序组织。例如,如果处理组有内在顺序(例如,增加剂量),在输入数据时要确保列A到列B再到列C的数据遵循组的自然顺序。如果没有内在顺序,它们可以按任意顺序排列。


  • 一个快速确保数据输入正确的方法是计算有数据的行数。这个数字应该等于研究中包含的受试者或参与者的数量。




输入生存数据的常见问题 Q&A


在研究结束时研究对象仍然存活的数据如何数据?


当研究对象或参与者再未经历感兴趣事件(例如死亡)的情况下结束研究时,该个体的观察结果被视为“删失”。您知道他们进行研究后已经过了多少时间,但不知道他们在经历感兴趣事件之前还需要多长时间。要输入此数据,只需将该个体的观察经过时间(即自他们进入研究以来的时间)输入到X列(或他们观察的开始和结束日期),并在相应的Y列中输入零(以表明该观察是删失的)。


如果两个或更多对象在相同时间经历感兴趣事件怎么办?


这不是问题。只需在单独的行中输入每个个体的观察数据:这些行的X值将相同,并且Y值将输入到相应的组列中,表示该个体属于研究中的组。请注意,这不仅限于同时发生的事件,也适用于具有相同观察经过时间的两个,其中一个经历了感兴趣事件,另一个被删失。输入数据的过程是相同的。


如何输入因无关原因死亡的对象的数据?


在进行生存研究(动物研究中常见死亡是感兴趣事件)时,有不同的方法来处理这种情况。一些研究者将任何原因导致的死亡都视为感兴趣事件并将其记录下来。其他人则将与研究无关的原因导致的死亡视为删失观察。理想情况下,这一决定应在研究设计中做出。如果研究设计不明确,您应该在揭盲前决定如何处理这些数据。


X值是否必须按顺序输入?


不需要。观测数据(每个个体到感兴趣事件的经过时间和结果)可以按任意顺序输入。重要的是每个个体的结果(编码Y值)要与相应的观测时间(X值)在同一行输入。


Prism如何区分研究结束时仍然存活的个体和中途退出研究的个体?


在这两种情况下,观测都被视为删失。您知道患者在研究方案的一段时间内是存活的,但之后(因为个体尚未经历感兴趣事件)或无法(因为个体停止遵循研究方案)获取关于该个体的任何进一步信息。生存分析计算以相同方式处理所有删失个体。直到删失时间,删失个体被视为“有风险”,并继续对生存率的计算做出贡献。这些个体被删失后,无法知道他们是否“有风险”,因此从生存计算中移除。这些本质上代表缺失数据。


我已经有一个显示不同时间生存率的寿命表,我可以将这个表输入到Prism吗?


为了进行生存分析,Prism只能分析您为每个个体输入到感兴趣事件的经过时间的生存数据。如果您的目标只是为这个寿命表创建一个生存曲线,那么数据可以输入到一个XY数据表中,将经过时间输入到X列,生存率输入到Y列。当首次切换到图表时,从XY图类型家族中选择“仅连接线”图类型并点击确定。打开格式图对话框(双击图表)并在该对话框的“显示连接线/曲线”部分,打开“样式”下拉菜单,选择“生存”选项。单击确定,将显示此数据的生存曲线。请注意,这将不包括图表上的删失观测。


我可以输入开始日期和结束日期而不是总经过时间吗?


可以。当创建新的生存数据表时,您可以选择输入开始日期和结束日期,而不是经过时间的观察(通常以天数、周数、月数等表示)。


任何处理那些在研究中“登记”但从未接受治疗的受试者的数据?


大多数临床研究遵循“意向治疗”原则。您分析数据时假设受试者被分配接受的治疗,即使实际上从未给予治疗。当然,这个决定应作为实验设计的一部分。


如果受试者在登记后立即经历了感兴趣事件,我应该输入X=0的值吗?


不。所有观察的感兴趣事件发生前的经过时间必须大于零。如果您输入X=0,Prism会直接忽略该行。




临床研究中的Kaplan-Meier生存数据示例


考虑下面所示的临床研究数据样本:


3.png


以下是这些数据在Prism中输入时的样子,使用总经过时间(以天为单位,直到感兴趣事件(此例中为死亡))作为X列:


4.png


另外,也可以使用每次观测的开始和结束日期输入数据,如下所示:


5.png


Prism中的生存表的独特之处在于,它允许您输入每个个体观察的总经过事件或特定的开始和结束日期。如果您选择输入开始和结束日期,Prism将计算总天数(或周数或年数,取决于日期范围),并将这些值用作生存时间。请注意,在直接输入开始和结束日期到Prism时不使用时间(因此,在计算生存时间时不考虑分数天)。如果不是时间-您有特定的开始和结束时间或时间戳(例如01-Jan-202110:00:00.000 am和02-Jan-2021 11:00:00.000 pm),您可以轻松地使用Excel计算经过的生存时间(以分数天为单位)。只需将这些时间戳输入到两个单独的单元格中,并在第三个单元格中计算它们的差值。结果将自动显示为天数(如果适用,包括分数天)。

和许多程序不同,您不会将组信息(对照组与治疗组,在此示例中)编码到单个列的数据中。相反,感兴趣事件(事件发生或删失观察)的结果应输入到单独的列中(每组在研究中的一列)。


在上述示例中,有三个不同的原因说明为什么观察被视为删失:


  • 三个删失观察代表研究参与者在研究结束时仍未经历感兴趣事件(在此情况下,仍存活)。我们不知道他们还需要多长时间才能经历感兴趣事件(即,他们还能活多久)。


  • 第7号受试者搬离该地区,从而离开了研究方案。即使我们有关于该受试者在没有感兴趣事件的情况下还能存活多久的信息,我们也不能使用这些信息,因为他们不再遵循研究方案。我们直到第7号受试者在没有经历感兴趣事件的情况下按照方案观察了732天,但我们不知道或无法使用之后的任何信息。


  • 第10号受试者在研究过程中死于车祸。不同的研究者会以不同的方式处理这种情况。当感兴趣事件是死亡时,一些研究者会简单地将任何死亡定义为事件,无论原因如何。其他人则会将明显与研究无关的原因(如车祸)导致的死亡定义为删失观察。我们直到该受试者在治疗下观察了703天。然而,我们不知道如果他们没有死于车祸,他们在治疗下还能存活多久。


请注意,数据输入到数据表行中的顺序与生存分析完全无关。上述数据是按照登记日期的顺序输入的,但它们可以按任何顺序输入,并产生相同的结果。




动物研究中的Kaplan-Meier生存数据示例

下面的数据代表了对一组动物进行28天治疗后收集的信息。


所有五只对照组动物在整个研究期间都存活了下来,而三只治疗组动物分别在第15、21和26天死亡。另外两只治疗组动物在第28天实验结束时仍然存活。以下是这些数据在Prism中输入时的样子:


6.png


请注意,尽管所有五只对照动物的观察经过时间(X值)相同,但每只动物都被输入到单独的一行中。这些行中的每一行都有一个X值为28(动物被观察的天数)和一个Y值为0(表明这些动物都被删失)。这些动物的观察被认为是删失的,因为我们只知道它们在至少28天内没有经历感兴趣的事件。我们不知道如果研究继续进行,它们还能存活多久。

五只接受治疗的动物也被分别输入到单独的行中,Y值为1表示动物经历了感兴趣的事件(在这种情况下是死亡),或者Y值为0如果观察被删失。在这组动物被删失的两种情况下,都是因为-就像对照组的动物一样-它们在整个研究期间都存活了下来。


每只动物的数据都被输入到自己的行中。因此,数据表中的行数等于研究中包含的动物数量。




生存分析的分析选择

Prism会自动分析生存数据(无需手动启动分析)

生存分析是Prism提供的独特分析之一。当数据输入到生存数据表中时,Prism会自动对数据进行分析并生成Kaplan-Meier生存曲线。您不需要使用“分析”工具栏按钮或从“分析”菜单中选择分析来启动分析,也不需要在分析参数对话框中指定任何选项。Prism将使用默认选项进行分析并为您生成结果。


要查看为分析指定的选项,您可以从生存分析结果表中访问分析参数对话框。只需点击分析参数工具栏按钮即可弹出对话框。


7.png


输入

默认选择是用代码“1”表示感兴趣事件发生,用“0”表示观察结果被删失。这些代码几乎是通用的,但有些机构使用相反的惯例。在Prism中,这些代码可以手动指定,但它们必须是整数值。

两条生存曲线的曲线比较


为比较两条生存曲线,Prism提供了两种方法:


  • 对数秩检验 – 有两种方法来计算此检验。这两种方法基本等效,但在处理同时发生的多个事件(这种概念在数据中被称为“打结”)时可能会有所不同。Prism采用Mantel-Haenszel方法,但使用“对数秩”这个在两种方法都通用的名称。这种方法也被称为Mantel-Cox方法。


  • Gehan-Breslow-Wilcoxon检验 – 这种方法对早期发生的事件给予更多权重,这很有意义,因为所有研究参与者都预计最终会经历感兴趣事件。然而,当很大一部分研究参与者在早期被删失时,这种检验的结果可能会产生误导。相比之下,对数秩检验在所有时间点对观察结果给予相同权重。


对数秩检验更为标准。它是两种检验中更强大的一种,如果比例风险假设成立的话。比例风险意味着风险函数(死亡/时间)在所有时间点都是相同的。比例风险的一个例子是,如果对照组在所有时间点的死亡风险都是治疗组的两倍。

Gehan-Breslow-Wilcoxon检验不要求一致的风险比,但确实要求一组始终比另一组有更高的风险。


如果两条生存曲线交叉,那么一组在早期时间点有较高风险,而另一组在晚期时间点有较高风险。这可能只是随机抽样的巧合,并且比例风险假设仍然可能成立。但如果样本量很大,无论是对数秩检验还是Wilcoxon-Gehan检验都无法帮助判断生存曲线在时间过程的中间部分是否交叉。


如果存在疑问,报告对数秩检验(者更为标准)。只有在有充分理由的情况下才选择Gehan-Breslow-Wilcoxon检验。


三条或更多条曲线的曲线比较


当存在三个或更多组(数据集)时,Prism提供了三种方法来比较生成的生存曲线。对数秩检验和Gehan-Breslow-Wilcoxon检验的细节与之前在比较两条生存曲线部分所提供的相同。


  • 对数秩检验这是比较三条或多条曲线最常用的方法。


  • 对数秩趋势检验 – 此检验仅在数据集中的组(由数据集中的数据列定义)按逻辑顺序排列时才有意义。例如,如果组是不同年龄、不同疾病严重程度或不同剂量的药物(每种药物在某种逻辑顺序(升序或降序)下组织),则此检验有意义。如果数据列未按顺序排列或排列不均匀,则对数秩趋势检验无意义。


  • Gehan-Breslow-Wilcoxon检验 – 这种方法对早期时间点给予更多权重。仅当由充分理由这样做时才选择此检验。Prism使用Machin文献参考中的公式10.2进行此检验。


对于有三个或更多组的数据,Prism推荐了计算P值的方法

匹配SPSS和SAS(推荐)


当比较三条或更多条生存曲线时,Prism还可以使用SPSS和NCSS手册中详细解释的方法来计算P值。这种方法只能通过矩阵代数来理解。与保守方法一样,这种方法也计算卡方统计量。对于这两种方法,自由度的数量等于组数减去1。不同之处在于,这种方法的卡方值比保守方法生成的值大,因此-随后-P值更小。


Style

结果的计算和呈现方式(以百分比或分数、死亡或生存表示)也可以在分析参数对话框中指定。


如果您选择绘制95%置信区间,Prism提供了两种选择。默认是转换方法,它绘制不对称置信区间。另一种选择是选择对称Greenwood区间。不对称区间更有效,是推荐的选项。


输出

选择在结果表中显示的精度位数,并指定计算的P值的格式。

参考文献


David Machin, Yin Bun Cheung, Mahesh Parmar, Survival Analysis: APractical Approach, 2nd edition, IBSN:0470870400.




绘制生存数据图表

当数据输入到生存数据表中,Prism会自动分析数据并生成结果生存曲线的图表。Kaplan-Meier生存曲线的选项相当简单直接,但接下来提供了一些关于可用于指定如何自定义这些图表的选项的基本信息。


  • 自定义生存图表


  • 累计发病率图表


自定义生存图表


Prism将自动分析输入到生存数据表中的数据,并准备生成所得的Kaplan-Meier生存曲线的图表。当您首次进入图表界面时,会出现一个对话框,提供一些图表自定义的基本选项。这些选项大多是一目了然的。


8.png


结果显示方式:

生存数据应按分数(从0到1)还是按百分比(从0%到100%)绘制?

绘制符号位置:

Prism是否应在图表上为所有观测值都标注符号,还是仅为删失观测值标注符号?最常见的做法是仅为删失观测值标注符号。

误差线:


默认情况下,这些Kaplan-Meier生存曲线不显示误差线。不过,您可以选择显示每个时间点的标准误差的误差线,或者显示每条曲线的95%置信区间的上下限。


累计发病率图表

通常情况下,生存曲线用于表示随时间推移(从时间零点开始)的生存概率。这些曲线将从100%(如果以分数形式显示生存情况)开始,并随着时间下降。从数学上来说,生存曲线表示到某一给定时间“t”时事件未发生的概率。因此,当时间为零时,生存曲线为100%,这表明事件尚未发生的概率为100%。


累计发病率图表显示的是相反的关系,提供了到某一给定时间“t”时感兴趣事件已经发生的概率。从数学上来说,这可以描述为1-生存概率。因此,这些图表从0开始,并增加到最大值1(如果以分数形式表示)或100(如果以百分比表示)。要创建累计发病率图表,请在“更改图表类型”对话框中选择相应的图表类型之一。


9.png


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:GraphPad kaplan GRAPH Prism 生存分析

5.png (72.91 KB)

5.png

科研统计绘图工具,助你发现数据

沙发
512661101 发表于 2024-12-3 19:44:39
谢谢分享!

藤椅
zoomivy 发表于 2024-12-3 20:19:08
谢谢分享!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-1 13:18