肿瘤临床试验中泳道图的SAS实现

2022-06-07 05:03穆怀伦
智慧医学 2022年4期
关键词:临床试验肿瘤

穆怀伦

「摘要」在I/II期的肿瘤临床试验中,出于安全性,有效性的考虑,受试者的服药剂量会在试验中变化。为更直观的展示剂量变化对于药物的影响,在统计图表中绘制剂量变化图形显得至关重要。本文将演示如何使用PROC SGPLOT过程HIGHLOW语句,在肿瘤项目泳道图中增加剂量变更的信息。展现HIGHLOW语句与常规泳道图做法的优势。增加剂量变更的泳道图,可以为研究人员提供更多的信息,以便对研究人员了解不同剂量对受试者的影响提供信息,同时可以为选出合适的服药剂量作参考。

「关键词」SAS;泳道图;临床试验;肿瘤

一、引言

近年来,随着国内肿瘤项目临床试验日渐增多。为了高效的开展临床试验,更多的适应性设计被广泛应用到肿瘤I/II期临床项目中。加之出于对受试者的安全性及有效性考虑。同一受试者在试验中,出现试验药物剂量调整的情况普遍存在。如何将剂量调整的信息与原有图表相结合,更清晰明了的展示结果,显得至关重要。

对于一般肿瘤项目中的泳道图,瀑布图,生存分析图等,其目的是从不同角度展现受试者的肿瘤信息。在绘制此类图表时,过程不近相同。但泳道图的绘制过程相较于其它图形更为复杂。泳道图一般包含:药物暴露时间,肿瘤评估时间,肿瘤评估信息,研究药物暴露后的持续反应等信息。其可以很好的展示个体的趋势。然而这些信息需要用不同的符号/颜色组合显示。它在绘制中打破了常规的绘图的方式,需要在一个图中,绘制多个不同图形,已达到最终的目的。在原有的泳道图中加上剂量变化信息,将使得制图过程更加复杂。

PROC SGPLOT过程是SAS 中的重要绘图语句之一,其简洁,方便的语句被更多的人所青睐。随着SAS版本的不断更新,其增加了更多的编程选项与编程,可以更好的绘制复杂的图形以及图形中细节的修订。PROC SGPLOT过程原理是创建各种各样的图,再并将图叠加在一起以生成包含不同类型的图。本文将通过实例,展示如何使用PROC SGPLOT过程HIGHLOW语句实现包含剂量变化信息的泳道图。

二、原理与方法

1.泳道图介绍

在肿瘤学研究中,可以使用类似泳道的条形图直观地模拟受试者的时间-事件(Time-to-Event)数据。

研究人员可以通过泳道图快速检查任何感兴趣的受试者的肿瘤信息,并比较不同治疗组的反应趋势,以及剂量变化对结果的影响。

2. 编码思路

泳道图的绘制方法众多,随着近年来SAS版本不断的更新升级,PROC SGPLOT模块被广泛应用。使用PROC SGPLOT模块绘制泳道图的常规思路,一般为使用HBARPARM先绘制底层柱状图,再使用SCATTER语句绘制图中相应的标识图。

若想通过常规方法,我们是否可以将剂量变更的信息增加到图中呢?实际上我们也可以应用HBARPARM和SCATTER的方法展现剂量变更的信息于图中,但图例中却无法呈现对应的剂量颜色。这导致了,虽然我们可以呈现信息,但绘制的图形,却不严谨的问题。究其根本是HBARPARM语句所绘制的条形图,只能规定条形图的末尾参数,并不能分段绘制。绘制出的剂量变化信息,只能叠加呈现。叠加出来的颜色将与实际赋值的颜色不一致。使得图例不能很好的实现剂量变更的内容。

PROC SGPLOT模块中HIGHLOW语句可以很好的解决这个问题,相较于HBARPARM只能在Y轴中设置一个参数,HIGHLOW语句可以设置条形图的开始位置与结束位置两个参数。我们可以将受试者不同剂量的服药时间信息,按剂量组分别绘制条形图后叠加。从而达到按不同服药剂量及服药天数绘制条形图。继而使用HIGHLOW和SCATTER语句的组合,绘制包含多个与肿瘤反应相关信息的泳道图。在下面的小节中,我们将详细介绍输入数据集,然后描述如何将图的构造分为三个阶段绘制:基本阶段、自定义阶段,并对每个步骤中使用的语句进行解释。

3. 输入数据集结构

在SAS绘图中,输入的数据集结构,直接影响作图的质量与速度。我们需要将涉及的全部数据点,以合适的方式呈现出来。对此我们需要对图1进行拆分,分析图1是如何构成的:

1) 反应服药信息的bar 图

2) 反应肿瘤评估的scatter图

3) 反应结束研究原因的scatter图

因此我们需要在数据集中体现的数据点为:

SUBJID:受试者识别号;

TRT01A:实际服药剂量;

TRTSDT:首次服药天数;

TRTEDT:末次服药天数;

CRDY:肿瘤评估首次被评为CR(Complete Response)的天数;

PRDY:肿瘤评估首次被评为PR(Partial Response)的天数;

SDDY:肿瘤评估首次被评为SD(Stable Disease)的天数;

PDDY:因受试者疾病进展退出的天数;

DDDY:因受试者死亡退出的天数;

ONGOING:是否持续;

POS:Y轴标签参数;

之前提到,我们需将每个人的不同剂量信息分别绘制后想叠加。故我们的输入数据集,应为每个受试者,每个服药剂量一条记录的访视所呈现。对于肿瘤评估信息和结束研究原因的信息,我们只需在该受试者对应的记录中呈现即可。这里需要说明的是结束研究原因。由于該信息可能与末次服药信息想一致,为了美观起见,我们可以将该信息的天数增加1-2天,使得结束研究原因信息与原条形图相分离。

创建数据集:

data swimmer;

input SUBJID $ TRT01A $ TRTSDT TRTEDT CRDY PRDY SDDY PDDY DDDY ONGOING POS;

datalines;

001 560QD  1   403 . 231 . . . . -10

002 560QD  1   675 . 300 . . . . -10

003 240BID 1 90 . . . . . . -10

003 360BID 91  220 . 150 . . . . .

004 360BID 1  55 . . 40 .55 . -10

005 360BID 1  391 . . 60 391 . . -10

006 360BID 1   114 . 56 . . .  116 -10

007 240BID 1   589 . . . . . . -10

007 360BID 589 617 590 . . . . . . .

;

run;

基本階段:

PROC SGPLOT过程可以将图叠加在一起以生成许多不同类型的图,叠加图的前提条件是各图的分组只能有一种。所以选好分组条件很关键,在泳道图的绘制过程中,条形图是泳道图的基础图,在绘制条形图时我们选用TRT01A(实际服药剂量)变量作为分组变量,该分组变量也是泳道图中的唯一分组变量。我们首先画出泳道图的基础图。其展现了关于受试者的三个信息点:

1)服药时间(以条形图长度表示)。

2)接受研究药物的受试者数量(以条形条数表示)。

3)服药剂量信息(用颜色条表示)

对应代码:

procsgplotdata=swimmer nocycleattrs;

highlowy=subjidlow=TRTSDT high=TRTEDT / type=bar group=trt01a;

yaxisreverse;

run;

HIGHLOW:

创建表示高值和低值的浮动垂直或水平线条或条的显示。分别用Y,LOW,HIGH,TYPE,GROUP 规定Y轴变量,起始值,终止值,条形图类型,分组信息。

根据数据集中的信息,SAS在后台将根据TRT01A分组信息,分别绘制每条记录的条形图,并将其叠加呈现。

自定义阶段

我们已经通过基础图绘制了受试者的服药信息,但显然图中缺乏泳道图的主要信息点:肿瘤评估信息,以及受试者研究结束原因。这些信息需要通过绘制不同类型的散点图,与基础图相结合来呈现。将不同的信息以不同的颜色,形状绘制散点图,并将绘制好的散点图与条形图相叠加。通过SCATTER语句已将肿瘤评估信息,以及受试者研究结束原因以散点图的形式所呈现。不同颜色及图形代表不同的信息。

其展现了关于受试者的六个信息点:

1)若受试者最佳肿瘤评估为CR,对应的日期。

2)若受试者最佳肿瘤评估为PR,对应的日期。

3)若受试者最佳肿瘤评估为SD,对应的日期。

4)若受试者由于PD(疾病进展)退出试验。

5)若受试者由于死亡退出试验。

6)若受试者仍在试验中。

对应代码:

procsgplotdata=swimmer nocycleattrs;

……

scattery=subjidx=CRDY / markerattrs=(symbol=starfilledsize=20pt color=orange);

……

run;

SCATTER:

SCATTER创建散点图。其分别用Y,X参数规定Y轴变量,X轴变量,决定绘制散点的位置。由于HIGHLOW语句我们已经使用了TRT01A(实际服药剂量)变量作为分组变量。故在绘制散点图时我们不能使用分组变量绘图。我们需将使用散点图的信息,分别绘制散点图,如例子中呈现的那样,6个信息点我们使用了6个scatter语句。在SCATTER中使用markerattrs选项定义symbol,color, size语句来定义散点的形状,颜色,大小信息。

本例中最后一个SCATTER语句,是为了展现SCATTER语句的另一用途。即我们可以使用SCATTER语句,将想要呈现的文体信息放于图中规定位置。上图以subjid为例,通过定义Y,X参数,规定subjid信息呈现的位置,并使用markerchar定义想要在图中呈现的变量,用markercharattrs对呈现信息样式进行编辑。

三、总结

通过演示我们使用PROC SGPLOT语句中HIGHLOW与SCATTER语句绘制了泳道图。我们的编程思路同常规泳道图做法相一致,但数据集结构与语句与常规做法稍有不同。使用HIGHLOW语句绘图相比HBARPARM绘图更加的灵活,他可以自由定义条形图的位置。同时HIGHLOW语句可以更好的与SCATTER,SERIES,NEEDLE等图相兼容。这使得我们可以根据试验的需求,在原有的泳道图上增加更多的信息,如肿瘤评估CR,PR的持续时间,肿瘤类型等信息。

由包含剂量变化信息的泳道图,我们可以从图中清晰的看到,不同受试者的剂量变化信息,也能看到对于剂量变化导致的疗效,安全性的结果。使得在研究肿瘤项目时,研究人员可以更好的分析剂量变化对于试验的影响,从而为寻找合适剂量提供了更多的帮助。

对于在临床试验中的图,增加一个信息点,可能会导致数据集结构发生很大变化。但在I/II期临床试验中,研究人员在探索药物信息时,往往需要跟多的信息作为参考。以图的形式可以更直观的展现出这些信息,从而帮助研究人员更好的做决策。所以在选择绘图语言时,我们应该选择更灵活,更兼容,更全面的语句绘制图形。这样不仅可以更多的展现出所需要的信息,而且在试验进行中也可以更方便的增加新的信息。

四、结论

随着SAS的版本不断更新,越来越多的强大绘图工具被引入。

本文通过演示,只需更改几个简单的PROC SGPLOT语句,可以使得在绘制泳道图时,增加剂量变化信息。使得泳道图的绘制更加灵活。在I/II期的肿瘤临床试验中,可以为研究者提供更多的安全性,有效性信息。

参考文献

[1] Stacey D. Phillips, Inventiv Health Clinical, Princeton, NJ. “Swimmer Plot: Tell a Graphical Story of Your Time to Response Data Using PROC SGPLOT”

[2] SAS® 9.4 ODS Graphics Procedures Guide

[3] SAS® 9.4 Graph Template Language User’s Guide

[4] SAS® 9.4 Graph Template Language Reference

猜你喜欢
临床试验肿瘤
中西医结合护理在肿瘤化疗中的应用
中国临床试验注册中心在册糖尿病前期临床试验特征分析
致命肿瘤忽然消失
参加临床试验,也要“顺道”
肿瘤标志物的认识误区
做事就像做药
做事就像做药
“饿死”肿瘤的纳米机器人
做事就像做药
做事就像做药