SAS程序员的自我修养(General Rules)

164:给新手的做项目建议,希望fresh认真看,认真执行

2022-11-09  本文已影响0人  SASPRO的打工人生活

最近在Q一个新手的ADaM,其实不管做SDTM,还是ADaM,都是通用的。说实话,备受折磨,难受的不是他有些东西不懂,谁一开始写项目就什么都懂的?都是靠前辈口传心授加上自己讨教学习,所以这并不是我难受的地方,毕竟我当初也是从一个什么都不懂的菜鸟过来的。

难受的是ta给我的感觉是:一个错的地方,讲了好几遍,说改好了,但是打开一看,还是同样的问题,就是截图给ta看那几行观测没对上,ta可能一看第一行值跟我一样就说改好提交了,也不会多花点时间检查一下其他的。

我当初也有点像ta,但是没那么严重。可能我们新手刚写项目的时候都是这样的态度,绝不多看一眼其他的观测。说到底就是没有全局意识,只改你发给我错的地方,改好就欧几吧OK了。

念在ta是第一次写ADaM,我也有耐心,所以并不指责,只能叫ta有问题可以问我或者ta身边的同事,大家千万不要不好意思问,比起被你折磨,我们更希望帮你早点解决问题,毕竟timeline摆在那。

但是作为我的读者,刚好你又是新手的话,希望你好好看看下面我列出的这些点,在自己做项目的时候多加注意一下,能避免很多问题,其实这也算是SAS程序员的自我修养之一。

1:如果你不需要写SPEC(这次我就是写好给他写程序)更好了,但是新手一般只会看SPEC,照搬SPEC上的comments写程序,虽然这是不好的,但是的话念在你是新手,这个就忽略了。

但是一般来说,尤其是在写ADaM的时候,最好结合方案和SAP一起看,尤其是缺失日期的处理,你看SPEC上写的,还不如直接去看SAP,SPEC上也是按照SAP的规则写出来的,但是写的人水平可能不太好,你自己也看的也七荤八素的,所以还不如直接看SAP。

2:在写ADCM,ADPR,ADMH的时候,一般都是筛选有病史,有既往合并用药的记录,但是有的数据集它的leading question像下面这样

比如这些否的记录,有时候也会记录到数据集里面,如果你没有提前筛掉,到时候就会凭空多出很多空的记录。

这也就会涉及到你们最终输出的时候,请检查一下AETERM,MHTERM,CMTRT,PRTRT这些topic 变量的值是不是空的,如果是空的,99%是有问题的。

3:对RAW数据集处理后,我们一般要获取ADSL里面的时间变量、治疗变量等关键信息。不管你是用merge还是SQL,一开始都很容易出错,就是会把不在这个数据集里面的受试者也添加到数据集里面。所以如果你用merge的话,注意加上

data adcm;

merge adcm_1(in=a) adsl;

  by subjid;

  if a;

run;

用SQL的话记得用左连接。这样就能避免多出一些没有既往病史/用药的受试者出现在ADMH,ADCM数据集中。

4:在做ADCM,ADPR的时候,一般都是需要填补日期,以判断是治疗前还是治疗后使用的,但是一般也只是对“既往\合并用药”,“既往\合并非药物治疗”进行日期填补,其他收集的既往信息一般不填补,比如手术史,这时候就要注意提前加上PRCAT=“既往\合并非药物治疗”;CMCAT="既往\合并用药"条件,之后才进行日期填补。

5:如果是写BDS结构的数据集,如果shell不需要收集未查的信息,且直接从ADaM开始做起,不做SDTM,那么也需要提前删除未查的记录。说简单点,ADaM就是为TFL服务的,TFL需要收集什么信息,我们就把什么做到ADaM,不需要的东西,就没必要做到ADaM里面。

BDS数据集对于新手来说,麻烦的就是处理基线和分析记录标帜,基线的定义看SAP,基线一般定义为首次给药前的最后一次非空值(包括计划外访视)。如果只有日期没有时间,那就拿日期去求基线,比如ADPE,ADLB。如果检查日期刚好卡在给药当天,这时候SAP一般也会说明基线是否包括给药当天的日期(好的SAP);所以如果基线日期和检查日期分明(隔几天)的话,对我们程序员真是非常友好。

如果有日期时间,那就直接拿日期时间去求基线,比如ADEG,ADVS,这些一般都会有清晰的时间点。这个可以直接比较出来,一般没什么问题。

然后求BASE,BASEC,明明基线都有,AVAL,ACALC也有值,但是BASE,BASEC却是空的;或者说没有基线,你的base,basec

这样讲下来,好像也没有什么问题,主要还是希望大家认真一点,但是大多数问题都是第一次遇到,你也没经验,即使你想认真,你想找出问题,你也不知道怎么做,所以只能从项目中多多练习,加深理解。这些我也理解。然后一定不要不好意思问别人,你一个人在那磨磨蹭蹭废了半天时间,说不定别人一点拨你几分钟就搞定了。

上一篇 下一篇

猜你喜欢

热点阅读