如果说到跟我们做SDTM/ADaM数据集最紧密的文件,spec一定是最重要的文件,可以说没有之一。
如果给你一个月来做ADaM,你需要参考SAP和TFL shell,确定所有需要的变量。
如果给你一个礼拜来做ADaM,你可以对着TFL shell看看哪些变量需要放到ADaM数据集中。
如果只给你一天让你做出一个ADaM,别废话把spec拿来,我没时间思考。
可见,spec就是这样一个神奇的文件,它就是SDTM和ADaM数据集创建的完全性指南,相当于是把你编程的语法和逻辑用你能看得懂的话写在文件里。
关于spec应该谁写,你百度谷歌360搜狗一圈,肯定也是一头雾水,因为这个问题根本就没有标准答案。
原则上,创作spec的人应该既有统计分析相关的知识,也对临床试验项目很了解,并且有SAS编程的知识。
因此,统计师往往就成了创作spec更好的选择。
但是,在现实的工作环境中,统计师有时并没有SAS编程的经验,或者没有时间做这些,那么这个光荣而艰巨的任务就交给了SAS程序员。
更多的情况下,spec是由项目的首席SAS程序员编写完成。
只要是创建数据集,无论是SDTM还是ADaM,我们都需要参考一系列文件才能够完成创建。
如果是SDTM spec,你需要参考CRF,也就是讲解原始数据是怎么收集的文件,以及SDTM IG,把它们联系起来;
如果是ADaM spec,你需要参考SAP,TLF shell和ADaM IG,考虑你的ADaM数据集怎样支持需要做的分析。
不知道以上两句话你读出什么端倪没有?
同样是spec,SDTM和ADaM可是完全不同的思路!
SDTM spec是从前往后思考,用你已经有的数据去套SDTM的格式,把它们安排进正确的数据集。
ADaM spec是从后往前思考,用你最终希望实现的统计分析,反推数据集需要什么。
这是它们两个最大的区别。
一般情况下,我们都是用Excel来储存spec,虽然不同公司的spec样式区别很大,但实质上都包含80%以上相同的信息。
首先,spec一定有一张主要的表,它里面记录了每个数据集中每个变量的具体信息:
数据集名(dataset name):该变量所属的数据集名称
变量名(variable name):变量在CDISC标准下的官方名称
变量类型(variable type):变量所对应的CDISC标准下的类型,一般分为数值型和字符型,也可以深化为浮点型、整数型、日期时间、字符等等。
变量长度(variable length):变量在SAS数据集中应当保留的长度,注意此长度必须在能够容纳该变量可能的最长值的情况下尽可能小。另外,数值型的长度一般设为8。
变量格式(variable format):该变量储存在SAS数据集中的格式,如yymmdd10, date9, e8601dt等等。
原始变量(original variable):变量所对应的原始数据集中的变量名称。例如创作ADSL中的STUDYID变量,因为这个变量在SDTM中已经存在,所以原始变量就写成STUDYID。
创建方式(derivation):有些变量并不能从原始数据中直接获取,而是需要我们通过编程逻辑来实现,具体怎么编程的方式,我们就要写在创建方式这一列之中。这一列也往往是spec创作最复杂的内容之一。
当然,spec文件所包含的还远远不止以上的信息,它还在不同的表中记录了包括取值范围、复杂算法、排序方式等等信息,这些内容我们将会在下一篇文章中涉及到。
最后,提醒大家,我最近做了一个网站,大家可以在里面测验SAS编程水平,提供给你个性化的提升建议,还可以阅读专业论文,回答问题并赚取积分。
网站地址是 famadata.com,手机和电脑上都可以登录。如果你在浏览过程中发现了任何bug,请一定要在公众号里告诉我们~
朝阳行业|20W年薪起步|广阔成长空间
| 关注我们 与砝码一同成长 |
发表评论