全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2017-8-14 13:57:21
Adrian2Hope 发表于 2017-8-14 10:23
To jeffkykong: 看你问题,很高级,像是预测和时间序列模型,是经济方面吗?鄙人也不懂这个,也没有考过这个 ...
嗯,好的,谢谢您,可能是我的代码不够精确,对GAM 的sas 程序理解的不够,运用的不熟练,我再询问一下群里其他老师!
二维码

扫码加我 拉你入群

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

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

2017-8-14 17:13:30
终于把某个项目交掉了,但过段时间后,就会来很多comments,然后programmer就对着这些要求来改自己的程序以及相关的文件,这里说一点点TFLs comments。
1 某张table或listing中header改变,或者某一行的label改变,但值是不变的。比如一段语句中首字母大写呀,把start date/day变成date/day of start,连接符前后要加空格等等,反正花样多多,人家说怎么改,就怎么改。其实大部分时候,这种更新是有依据有意义和有必要的。它能让这些TFLs更标准化,更好理解,更符合这个study(protocol, CRF..),这在程序里只需要做一些wording工作就行。所以,熟悉和了解一些general的comments是很必要的。
2 对于增加某行或某列,那就要再写code。如果这个新加的变量更合适放在ADaM中的话,那这一段程序可以放在ADaM中写。另外,对于ADaM data set,因为是要求ready to analysis,窃以为,把在TFLs中的programming放到ADaM中更好些,具体原因如下:
a, 除了一些ADaM model要求的基础变量之外,ADaM数据集是可以按user-defined的要求生成一些变量的,包括命名,computation rules。当然了,也要follow ADaM IG里面的general standard。
b, ADaM数据集本来是为TFLs服务的,它的生成是为了更方便的出TFLs。试想,现在要连接start date, start day, end date, end day, duration形成一个变量在listing输出,也就是说把5个变量合成一个,再者,这个信息在3个listing中都要出现。如果都在listing中programming的话,那是不是要把这段程序写3遍。更多时候,要按某种format科学合理的呈现data,那这程序还挺长的,这不就增加了工作量嘛。如果在以后要对这列进行算法更新,这就挺麻烦的,而放在ADaM中,则只用update一次,而且也好找好改。
c. Listing到底要不要写完整的程序qc且不论。如果original and validation都在TFLs中programming的话,因为用的变量属性不一样,程序中的处理也不一样,这就增加compare的时间了。这一个变量的qc,放在ADaM中处理,完了之后,TFLs用相同的变量,也就省事得多。
所以,我觉得经的经过SDTM标准化数据之后,ADaM是个很重要的步骤,做得好了,承上启下,对整个study的高效,快速,准确的完成意义重大。个人意见而已,仅供学习讨论。
3 下面是data display方面。比如像CM这种经常date不是很清楚的,那在listing中如何呈现呢?。首先,listing中呈现的都是"raw data"。在ADaM中,像--STDTC,--ENDTC,--DTC,这都是直接从SDTM中拿过来的,而SDTM也是从raw data里拿的。那在listing应该display这样的变量。如果是2013-06,或者2000,这种日期时间数据不完整的,这就是"raw data"。而ASTDT是经过某种rule算出来的,更多的是分析所用。如果某一条CM的记录只有start date,没有end date,因而也没有duration,那要像上面要求怎么连呢?有的要求不管后面有没有数据,也要用类似"/"来标注,以说明这个记录没有end date,比如2013-06/,也有表示成2013-06,把后面放空。再比如像某列要显示yes or no,如果是yes,再在后面写原因。可以显示成Yes/Reasons 或者No,如果结果为yes但原因缺失,仍然显示成"Yes/"。我个人prefer后者,好像看起来有点多余,但却很清晰地表达了某个信息。
4 有些title/footnote,analysis population 需要更新。在title中,可能需要加入选定的语句来更加明确地表达出这个表的内容。footnote可能需要加入更详细一点的footnote来解释TFLs中用到的省略词语,比如severe AE中,1 = Results in Death,Baseline is defined the last non-missing record before first dose. Study day is defined as the day relative to the first dose等等。表中的[a], [b]...要和下面的footnote一一对应。同一个footnote可能存在很多个TFLs中。比如listing中要出现的subject/age/sex/race,在footnote中就要说明这里面的值代表什么意思,比如F = Female, W = White之类。
5 针对某些table的update,也许改动比较大了。比如开始给出的shell里面,只要summarize某个SOC/PT之下的subjects and percent,而实际上一般都是SOC一个汇总,下面每一条PT也汇总,如果这个PT下面再有Severe Grade或者Relationship to study drug之类的分组,如果可以的话,可以在程序里一层一层地把它都求出来,要哪些内容再输出哪些内容。因为有些draft mock-up没有finalized,后面可以需要加入更多的内容,还不如刚开始写程序的时候,就考虑得深远一点。
6 像某个table后面,一般都有某个listing与之对应,这样可以便于cross check。比如在table中算得的年龄最小值为18,而在后面的listing中,从一条条的patient看过去,年龄都是大于20的。那这就前后矛盾了。前面的disposition表显示safety population(如果这个flag是定义为服用过试验用药的人)只有10个人,但其他表的header中的大N总和并不等于10,这就有问题。原因可能是这个人dose date不为空,但arm=not assigned,也就是data中,这个人有用药记录,但没有给他assignment treatment。像这种data issue,有的时候是data本身的issue,另外就是程序中可能出现了错误。
哆嗦了这么多,不知道听烦了没有,这并不是一个系统性的总结,只是想到哪里就说到哪里。如果有时间,我想以后再专门就自己想到的一些general rules写出来,这样比较有完整和系统些,也好和大家参与讨论。
二维码

扫码加我 拉你入群

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

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

2017-8-30 16:41:57
在爱奇艺上搜索SAS编程,即可找到我最近录制的SAS培训课程。比较基础,适合于初学者,有什么问题,可以与我交流。
二维码

扫码加我 拉你入群

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

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

2017-12-5 17:26:38
不好用。
附件列表
indent simple codes2.PNG

原图尺寸 3.81 KB

当字符太长到第二行时,用这段

当字符太长到第二行时,用这段

indent simple codes1.PNG

原图尺寸 3.46 KB

缩进代码1,最常用!!!

缩进代码1,最常用!!!

indent desired output.PNG

原图尺寸 22.26 KB

这就是最好的结果

这就是最好的结果

indent integrality.PNG

原图尺寸 21.95 KB

如果只用一个rtf code,第二行一样的缩进

如果只用一个rtf code,第二行一样的缩进

indent primary output.PNG

原图尺寸 25.37 KB

现在做成是这样的

现在做成是这样的

indent mock-up.PNG

原图尺寸 20.09 KB

我们要做成这样的表

我们要做成这样的表

indent simple codes2.PNG

原图尺寸 3.81 KB

indent simple codes2.PNG

indent simple codes1.PNG

原图尺寸 3.46 KB

indent simple codes1.PNG

indent primary output_LI.jpg

原图尺寸 745.27 KB

indent primary output_LI.jpg

indent mock-up_LI.jpg

原图尺寸 688.24 KB

indent mock-up_LI.jpg

indent integrality_LI.jpg

原图尺寸 760.31 KB

indent integrality_LI.jpg

indent desired output_LI.jpg

原图尺寸 777.54 KB

indent desired output_LI.jpg

indent desired output_LI.jpg

原图尺寸 777.54 KB

indent desired output_LI.jpg

indent desired output_LI.jpg

原图尺寸 777.54 KB

indent desired output_LI.jpg

indent simple codes2.PNG

原图尺寸 3.81 KB

indent simple codes2.PNG

indent simple codes1.PNG

原图尺寸 3.46 KB

indent simple codes1.PNG

indent primary output_LI.jpg

原图尺寸 745.27 KB

indent primary output_LI.jpg

indent mock-up_LI.jpg

原图尺寸 688.24 KB

indent mock-up_LI.jpg

indent integrality_LI.jpg

原图尺寸 760.31 KB

indent integrality_LI.jpg

indent desired output_LI.jpg

原图尺寸 777.54 KB

indent desired output_LI.jpg

indent simple codes2.PNG

原图尺寸 3.81 KB

indent simple codes2.PNG

indent simple codes1.PNG

原图尺寸 3.46 KB

indent simple codes1.PNG

indent primary output_LI.jpg

原图尺寸 745.27 KB

indent primary output_LI.jpg

indent mock-up_LI.jpg

原图尺寸 688.24 KB

indent mock-up_LI.jpg

indent integrality_LI.jpg

原图尺寸 760.31 KB

indent integrality_LI.jpg

indent desired output_LI.jpg

原图尺寸 777.54 KB

indent desired output_LI.jpg

indent simple codes2.PNG

原图尺寸 3.81 KB

indent simple codes2.PNG

indent simple codes1.PNG

原图尺寸 3.46 KB

indent simple codes1.PNG

indent primary output_LI.jpg

原图尺寸 745.27 KB

indent primary output_LI.jpg

indent mock-up_LI.jpg

原图尺寸 688.24 KB

indent mock-up_LI.jpg

indent integrality_LI.jpg

原图尺寸 760.31 KB

indent integrality_LI.jpg

indent desired output_LI.jpg

原图尺寸 777.54 KB

indent desired output_LI.jpg

indent simple codes2.PNG

原图尺寸 3.81 KB

indent simple codes2.PNG

indent simple codes1.PNG

原图尺寸 3.46 KB

indent simple codes1.PNG

indent primary output_LI.jpg

原图尺寸 745.27 KB

indent primary output_LI.jpg

indent mock-up_LI.jpg

原图尺寸 688.24 KB

indent mock-up_LI.jpg

indent integrality_LI.jpg

原图尺寸 760.31 KB

indent integrality_LI.jpg

indent desired output_LI.jpg

原图尺寸 777.54 KB

indent desired output_LI.jpg

二维码

扫码加我 拉你入群

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

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

2017-12-6 15:40:28
谢谢分享啦
二维码

扫码加我 拉你入群

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

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

2017-12-6 15:40:59
谢谢分享啦
二维码

扫码加我 拉你入群

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

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

2017-12-10 10:45:30
AZ 的study ,友情提醒一下,如果把公司的结果截图发出来,一般来说都是违反公司规则的。就算拿出来当例子,也要把关键信息隐藏一下。
二维码

扫码加我 拉你入群

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

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

2017-12-10 18:38:19
楼上朋友提醒的是,这是不对的,已做处理。
二维码

扫码加我 拉你入群

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

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

2017-12-15 17:24:05
为什么这个图片怎么删都删不掉!!!!!!!!!!!!!!!!!!!!!!!!
二维码

扫码加我 拉你入群

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

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

2017-12-15 17:26:01
这种体验非常不好,不想再发了都!
二维码

扫码加我 拉你入群

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

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

2017-12-16 22:07:33
楼主好样的,期待继续更新互动!有一个问题困扰很久,输出rtf文件有没有办法实现表格嵌套?即大表格下面还有小表格,如附件
附件列表
微信截图_20171216220514.png

原图尺寸 8.46 KB

微信截图_20171216220514.png

基本情况.docx

大小:17.17 KB

 马上下载

二维码

扫码加我 拉你入群

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

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

2017-12-17 15:23:37
行路者01 发表于 2017-12-16 22:07
楼主好样的,期待继续更新互动!有一个问题困扰很久,输出rtf文件有没有办法实现表格嵌套?即大表格下面还有 ...
我觉得不管嵌不嵌的,你直接把它整体做成一个数据集不就行了,把label和相应的值填进去。
二维码

扫码加我 拉你入群

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

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

2017-12-17 15:23:41
行路者01 发表于 2017-12-16 22:07
楼主好样的,期待继续更新互动!有一个问题困扰很久,输出rtf文件有没有办法实现表格嵌套?即大表格下面还有 ...
我觉得不管嵌不嵌的,你直接把它整体做成一个数据集不就行了,把label和相应的值填进去。
二维码

扫码加我 拉你入群

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

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

2017-12-17 15:23:47
行路者01 发表于 2017-12-16 22:07
楼主好样的,期待继续更新互动!有一个问题困扰很久,输出rtf文件有没有办法实现表格嵌套?即大表格下面还有 ...
我觉得不管嵌不嵌的,你直接把它整体做成一个数据集不就行了,把label和相应的值填进去。
二维码

扫码加我 拉你入群

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

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

2017-12-17 15:23:48
行路者01 发表于 2017-12-16 22:07
楼主好样的,期待继续更新互动!有一个问题困扰很久,输出rtf文件有没有办法实现表格嵌套?即大表格下面还有 ...
我觉得不管嵌不嵌的,你直接把它整体做成一个数据集不就行了,把label和相应的值填进去。
二维码

扫码加我 拉你入群

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

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

2017-12-17 15:23:48
行路者01 发表于 2017-12-16 22:07
楼主好样的,期待继续更新互动!有一个问题困扰很久,输出rtf文件有没有办法实现表格嵌套?即大表格下面还有 ...
我觉得不管嵌不嵌的,你直接把它整体做成一个数据集不就行了,把label和相应的值填进去。
二维码

扫码加我 拉你入群

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

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

2017-12-19 20:37:49
Adrian2Hope 发表于 2017-12-17 15:23
我觉得不管嵌不嵌的,你直接把它整体做成一个数据集不就行了,把label和相应的值填进去。
整体数据集容易实现,问题的关键怎么填写值呢?或者怎么生成要求的格式?
二维码

扫码加我 拉你入群

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

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

2017-12-21 16:29:33
想改行做cro的Statistic  program,如果做的好的话,一般有多大的升职空间和收入。如果干了一段时间想换工作,一般还有什么选择。
二维码

扫码加我 拉你入群

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

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

2017-12-22 09:10:23
行路者01 发表于 2017-12-19 20:37
整体数据集容易实现,问题的关键怎么填写值呢?或者怎么生成要求的格式?
你说到的填写值的话,你看可以不可以 根据前面的姓名条件,然后生成一系列的宏变量,把宏变量做成一个值放在表中,最后出来的rtf中应该就可以显示值了。
二维码

扫码加我 拉你入群

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

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

2017-12-22 09:11:49
superguy333 发表于 2017-12-21 16:29
想改行做cro的Statistic  program,如果做的好的话,一般有多大的升职空间和收入。如果干了一段时间想换工作 ...
不建议随性的改行,我们这行的程序员或者统计师,又或者数据管理类的,不一定适合所有人。升职空间和收入,看个人努力吧。
二维码

扫码加我 拉你入群

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

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

2017-12-22 09:26:33
Mapping EPOCH more granularly


一般我们在sdtm中做epoch的时候,通常分为"SCREENING", "TREATMENT", "FOLLOW-UP"三个阶段,这里提到一种更为精细的分类,在treatment中根据study schedule再在细分,这样让reviewer更为清楚的了解某个event或intervention发生的具体时间点。

In-order to make the data more useful, the agency has asked industry to identify the Epoch that collected General-Observation-Class data starts in or is collected in. Doing this at a more granular level than a single Treatment Epoch should help the reviewer/consumer understand when things happened relative to discrete study activities more easily, which should facilitate review.


The EPOCHvariable’s values defined in TA are expected to be assigned to collected datain the General-Observation-Class domains to identify which Epoch the collecteddata began in, or was collected in.


Let’sassume each of the administrations is once-a-day for two weeks, and the Run-in,Rests and Wash-out are somehow different from each other.


Manywould map Run-in and Wash-out to separate Epochs, but many would map theDosing1-Rest-Dosing2-Rest-Dosing3 to a single Treatment Epoch. Let’s thinkabout this is relationship to the AE Treatment Emergent flag.


If theentire Dosing1-Dosing3 period of time is one Epoch, then

  • how is this different from Treatment Emergent?

  • How to knowthat data records started or were collected somewhere in the Treatment periodof time?



Mappingthis more granularly would likely aid the review, and in this example we shouldprobably have an Epoch for each of the Elements. Generally the Elements should be moregranular, but in this example since we assumed the treatments were allonce-a-day for two weeks the granularity of the Elements and Epochs should bethe same.


TheEpochs are defined in TA, then used to identify the boundaries and values forassigning EPOCH in the General-Observation-Class domains. Thegranularity beyond “Treatment” provides value to reviewers to identify thestudy-period at a more granular level.


捕获.PNG

捕获.PNG


TAExample for the first two Arms:

捕获.PNG


二维码

扫码加我 拉你入群

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

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

2018-2-12 07:42:51
楼主威武,我问下,楼主sas程序员的年龄一般有没有要求。平时经常看到一般的程序员,过了三十五就很难去找工作了。
二维码

扫码加我 拉你入群

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

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

2018-2-12 13:10:53
感谢楼主分享,你是在国内做医药方面的SAS 分析?
不知道美国这边,没有医药背景,只考了SAS BASE, ADVANCE的话,好不好找这方面的工作。楼主是否有这方面的经验?
二维码

扫码加我 拉你入群

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

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

2018-2-12 13:13:33
另外想知道,楼主是那年毕业的,看你帖子中说,还没毕业时,因考了SAS,就有很多有意向的offer。似乎找工作很简单的样子,这是不是很多年前的情景,还是近一俩年的。
谢谢
二维码

扫码加我 拉你入群

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

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

2018-2-23 23:36:49
terrorist002 发表于 2018-2-12 07:42
楼主威武,我问下,楼主sas程序员的年龄一般有没有要求。平时经常看到一般的程序员,过了三十五就很难去找工 ...
年龄没有要求的,年龄越大,不正好经验越足嘛。当然了,以后随着level的提升,慢慢进入管理层了,会考虑其他方面的东西。这个国内和国外有差别,外企和国内公司有差别,不能一下子说死。
二维码

扫码加我 拉你入群

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

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

2018-2-23 23:38:24
chaijixin 发表于 2018-2-12 13:10
感谢楼主分享,你是在国内做医药方面的SAS 分析?
不知道美国这边,没有医药背景,只考了SAS BASE, ADVANC ...
不是说在北美那边有这样的说法吗?if you get a sas, you will never lose your job.之类的。另外,很多美国那边的cro公司是中国人开的,里面的员工也是中国的,可以试试
二维码

扫码加我 拉你入群

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

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

2018-2-23 23:41:29
chaijixin 发表于 2018-2-12 13:13
另外想知道,楼主是那年毕业的,看你帖子中说,还没毕业时,因考了SAS,就有很多有意向的offer。似乎找工作 ...
科学地做临床试验这块的公司大约是在85年前后进的,刚开始都是些大的外企,药厂啊,cro之类的,现在竞争是还蛮激烈的,尤其是人才的竞争。我觉得这个行业还是有前途的。毕竟,人可以不理财,但人总不能不生病吧,生病不就得吃药嘛。
二维码

扫码加我 拉你入群

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

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

2018-2-24 00:10:27
Adrian2Hope 发表于 2018-2-23 23:38
不是说在北美那边有这样的说法吗?if you get a sas, you will never lose your job.之类的。另外,很多美 ...
这句话适用于10年前,现在会SAS的人也很多。竞争相当激烈
二维码

扫码加我 拉你入群

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

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

2018-2-24 00:11:19
Adrian2Hope 发表于 2018-2-23 23:41
科学地做临床试验这块的公司大约是在85年前后进的,刚开始都是些大的外企,药厂啊,cro之类的,现在竞争是 ...
有道理,感谢分享,但确实需要一些医学方面的背景吧
二维码

扫码加我 拉你入群

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

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

2018-3-26 09:17:49
复制代码

在做table的时候,有人喜欢以这种方式插入一个空行,以分隔不同部分的内容。当然这样是可以的,至少针对内容不具有扩展性是行得通。但如果某些summary table是by category, by visit, by name之类的,在并不清楚要空多少行的时候,还是在report中用compute更好些。
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群