Entries Tagged 'SAS' ↓

北大讲座(20111028):SAS编程与生物统计

这个周五,我会跟同事(SAS程序员和生物统计师)一起去北大做个关于SAS编程与生物统计的经验交流,感兴趣的朋友不妨去转转。这个活动由我以前在学校的社团,北大应用统计研究会帮忙张罗。之前我在协会负责SAS俱乐部。

主题(关键字):SAS编程、生物统计、行业应用

时间:2011年10月28号,周五,晚上,7点到9点

地点:北京大学,二教422(地铁北大东门下就是)

适用人群:对SAS与生物统计感兴趣的在校生,其他感兴趣的朋友也欢迎捧场

组织单位:北京大学应用统计研究会

出席人员:来自赛诺菲巴斯德(Sanofi Pasteur)生物统计中国部的SAS程序员与生物统计师

这将是一场非正规的经验交流(赶在这个校园招聘忙的季节),但我们也抱着接触潜在实习生与员工的想法。对我个人来说,就是趁着机会,回次学校,见见朋友,再体会一把久违的社团生活。

又,如果你是在校生,先读一下这篇文章会很有作用:

http://cos.name/2010/04/think-sas-1/

更新(技术与工作,2011-10-04)

大半年没跟新了。一些个人技术方面的动向在英文博客里:

1.  CDISC Express

CDISC Express是一款开源的SDTM转化器,基于SAS和Excel(其实背后是XML)。我为这个产品写了一系列的入门教程,并参加了一个相应的比赛(赢了一台iPad)。益辉最近也抽中了一台Kindle,加上上半年在SAS Global Forum拎回来的一台Kindle,不禁感慨,知识(和概率)真是咱农民的第一生产力呀。对着手头这台上世纪的诺基亚6300,我坚定的目光瞄上了iPhone5。有一句话说,做自己喜欢的事,然后找一个人或机构买单,人生一乐也。

又,把临床数据自动导入到符合CDISC标准的数据集,现在有不少vendor在做,很多药厂内部也有开发。感兴趣的朋友不妨也鼓捣鼓捣。

2. Big Data

现在还提这个概念就较不时尚了,重要的是如何做,或者如何为以后做些准备。SAS也将加入对Hadoop的支持,不过现在Hadoop的框架还是基于Java,拣回来些C/C++、Java或者Python还是很有戏场的(甚至R也能够玩会Hapoop),对一个SAS程序员来说,是时候更新自个的工具箱了。

迄今为止,这个领域还是IT人士的天下。这一方面说明了我们这些传统的数据分析人员还需要夯实技术(去看看Hadoop的‘hello world’, 所有的操作都要分解为map()和reduce(),而这并不是所有人都习惯的),也说明目前这一块,发展还在起步阶段,因为这些框架,最终都是要为了让数据产生价值,而这就不可能有数据分析师的缺席。

3. SAS之外

这些日子,在SAS之外,试图拣回来些数据挖掘的东西。本来准备四月份在拉斯维加考下SAS数据挖掘的认证,后来还是被其他事情给挪掉了。最后所得就是,还是稍微看了下这块的东西,在概念上是过了一遍。这次在拉斯维加,碰到以前在北大一起做SAS俱乐部的朋友光辉,他现在加拿大工作。光辉说他趁着开会的缝隙,随手把SAS的数据挖掘认证(SAS Certified Predictive Modeler using SAS Enterprise Miner 5 or 6 Credential)给考了。这叫行动力啊。

机缘巧合,这上半年有朋友给我介绍Feature Selection(大白话就叫变量选择,在数据挖掘里面属于前期的工作),我就对着一个R的包看了一遍,也就是在脑袋里过一下,最后没有什么成果出来。另一个额外的好处是,这次我是对R在学习方面的优势有了切身体验,对R算是有了些个人感情。一边找论文看,然后几乎就能找到一个相应的R包跑一跑,增加些手感,这效果真是不错。

再说些R。我还真尝试过认真学一学R。做为一个SAS程序员,想,还是从input/output开始吧,就先研读官方文档R Data Import/Export,转了一圈,发现,这数据读取转存还是SAS更为方便有效,对我来说,鼓捣这个有点得不偿失,遂罢。

又想,R对SAS的一个优势在于它支持多种数据结构,像array、list之类,就从这入手了。不知道怎么搞的,在学习R的数据结构时,可能是我学习不够深入,修为不够,总觉得有些不够畅快——具体我说不上来。想,我还是把自己的Python拣回来吧,R跟Python有类似的地方。后来我就能说上来了,Python的List等数据结构,对我来说,的确是更为优雅(换一种说法,或者是因为我还没有读到一本“优雅地”介绍R数据结果的文档)。好吧,到此为止,我的R还停留在用它尝试算法的阶段。

然后就是捡回Python。我两年多的SAS程序员工作经历,一个直接的后果就是把之前学过的一点C++、Java和Python又打回“hello world”的水平,手都生疏了。我读了很多Jian Dai(他在加州做SAS程序员)的代码,包括Perl, C, JavaSAcript等等,想,做SAS程序员也不至于把其他的语言都丢掉,为了方便,又重新学习下Python。

为学而学毕竟有局限,在工作中使用当然来得最快。现在我还没有这机会,除了翻文档之外,就尝试用Python写些小东西,把它就当一回事一样。其实,除了工作中直接使用,还有一项就是参加开源运动——我看益辉这几年写R代码是风生水起,一个极大的外部刺激就是参与开源运动,整个积极性都给起来了。一个普通的统计学博士生,用不了那个多的代码量,那动力,就在于统计之外。

统计。今年的基础统计学习,没有去年那么饱满。每天跟统计师打交道,就想好好学习一下他们的语言。今年,到现在为止,算是在工作中(向统计师)学习,整了下CI calculation和euivalence and noninferiority test。下一步准备鼓捣些Sample Size之类。有个哥们写了一篇文章叫Programmers Need To Learn Statistics Or I Will Kill Them All,好吧,作为一个程序员,为了生命安全,每天跟统计师打交道,还是学下统计了。

4. 工作

不是说自己的工作,是说工作与实习机会。感兴趣的朋友,不妨跟我联系。中南大学统计系的本科生韩帅,不久前结束在我公司的实习,在Sxlion主持的SAS中文门户写了两篇非常有价值的总结文章,大伙可以去看看:

一个SAS菜鸟的故事 学习篇

一个SAS菜鸟的故事 实习篇

人是这样的,只有经历过了(我说的是第一份实习或其他),才能自信地自称“菜鸟”,否则就真是论坛里“弱弱地问”的菜鸟。我推荐我公司,当然是因为最熟悉。说实在的,在北京,在药厂,对SAS程序员来说,这的确是一份不错的的实习机会。去年我也推荐了汤耀华来我公司做实习生,他现在中科院读研。这两位都来自中南大学,怎么说?对我和我的同事来说,他们提升了中南大学在我们心目中的分量。在上海,我想,很多SAS程序员对中南大学也很有兴趣。

一些大学生朋友给我写邮件打电话,说些职业或技术选择的事。这不是选择两个到手的offer,大哥,随便扎进一个方向,都比在那犹豫强。

5. SAS

还是得提一下SAS。现在用上SAS9.2了(然后SAS9.3就华丽丽地发布了。。。),对我来说,直接地,有两个触动:

1)SAS9.2及以后,作图更漂亮,我终于有些动力研究下SAS作图了。在公司,去年与宾州的同事一道,把公司作图的macro(基于9.1.3)的更新以后,以后都直接调用,压根就没写过proc gplot之类,然后我就发现自己作图的那一点点手艺正在迅速凋零。。。

2)SAS9.2中,BASE中正式支持自定义函数(仿佛听到其他门类的程序员在冷笑,我弱弱地辩解一下,SAS/IML早就可以自定义函数,而且对SAS程序员来讲,一直使用macro写一种叫function-like macro,而且,macro也支持递归。。。)。这将给我们的编程生活带来不少乐趣,其中之一就是可以把以前的一些macro改写成函数(方便debug啊)。

在写函数之前,我把SAS BASE里面的函数都看了一遍,省得以后重复造轮子:

SAS_Func

 

 

 

 

 

 

 

把所有的函数分门别类导入到Excel,然后动用一点VBA,把每个函数的解释都搁进每个函数名的comments里。这么一梳理,又发现不少有趣的东西,再议。

SAS: 追星篇

对SAS,这套软件,这家公司,还有这套软件这家公司后面的人,我都带着很浓重的个人感情。现在,可以自豪地宣布,我完成了人生一个的小小心愿,参观了SAS总部,还有就是当面见到了SAS公司1976年的三个创始人

4J_SAS

第一个Anthony James(Jim) Barr,更多地被称为Tony,SAS系统的发明人,今年4月份在佛罗里达拜访他并长谈(右一):

Tony 

Jim Goodnight和John Sall,现在SAS公司的一、二号当家,在拉斯维加斯的SAS全球大会见到。我没有跟Jim Goodnight有任何互动,最“近”的一次是几年前,当时在SAS中国研发中心,收到唯一一份来自Goodnight的邮件,大概是群发给全球一万多号员工的。John Sall来过北京,不过没机会见过。这次在拉斯维加,在一间中型会议室,看他慢慢演示JMP,差点超时。

第四个创始人Jane负责文档,还没有见过。不过去年,就在北京,有幸见过第一本SAS user guide (A User’s Guide to the Statistical Analysis System, 1972)的作者,Dr. Jolayne (‘Jo’) Service(左二):

Jo 

Jo离开北京后,还随着美国统计学代表团参加了上海生物统计学术论坛(SBF)组织的活动。

活动两条:数据挖掘竞赛和SAS大会

1.第一届全国大学生数据挖掘邀请赛

“统计之都”(http://cos.name)的朋友拉来人大统计学院和中科大管理学院,一起办一个大学生数据挖掘的比赛(“第一届全国大学生数据挖掘邀请赛”)。非在校生的朋友可能也会感兴趣,这次比赛的赞助商是上海的一家婚恋交友网站,比赛的任务是,“评估给定的候选会员集合中,哪些会员更容易获得特定会员A的青睐”。有评论认为,这是两会之后,真正关注国计民生的好题目。

预祝这次竞赛活动圆满成功。先去围观了:

http://www.statmodelingcompetition.com

http://cos.name/2011/03/1st-data-mining-competetion-for-college-students/

2. SAS Global Forum 2011, Las Vegas, Apr 4-7

SGF2011的会议论文已经放在网上,大伙可以先睹为快:

http://support.sas.com/resources/papers/proceedings11/TOC.html

这将是我第一次参加SGF我提交的论文很水,几乎跟SAS无关,讲的是装备一个SAS程序员的几个简单的工具:文本编辑器Notepad++、文件比较工具Beyond Compare以及个人信息门户Gmail和Google Reader。

——恩?怎么还有Gmail?这话题似乎难登大雅之堂,但我觉得还是非常重要的。总体而言,SAS程序员/SAS用户的技术装备水平不高。根据SAS邮件组SAS-L订阅者邮箱使用的相关数据(http://www.howles.com/sas-l),一共有3万7千个注册邮箱,现在能跟使用者本人对应起来的邮箱数大概是4千8百个。而在这4800个可以说是较为有效的邮箱中:

  • .edu后缀的有722个
  • .net的698个
  • .org的198个
  • .gov的195个
  • .com的当然最多,有2680个

而在这2680个.com邮箱中,有大量分散的公司邮箱,不论,几个常用的免费邮箱是

  • Gmail有269个
  • Yahoo有252个
  • Hotmail有174个

这什么概念?首先,SAS用户,大量集中在企业,我猜R-help邮件组的Gmail使用者应该会非常多——当然这不是这里的重点。使用公司或机构邮箱的,大多数人用outlook之类的客户端收发邮件,其余的如Gmail、Yahoo、Hotmail用户大多使用Webmail的方式。作为一个Gmail爱好者,我好奇的是众多的非gmail用户如何管理(以及忍受)来自SAS-L成千上万的邮件的。

又,SAS-L的Gmail邮箱订阅者较少,还有一个可能,就是大伙都喜欢在工作时间收取SAS邮件。我个人推荐用Gmail收取邮件组的邮件,同样,根据个人兴趣,那天我还会跟SAS用户推荐Google Reader,这个所谓Web2.0时代的利器。这次SAS大会同样也充满2.0精神:

到时热闹了。

年末流水帐

首先是oloolo同学在my.sas论坛问我以前那个Think SAS 系列继不继续。话说我有很多标记为“(一)”的文章没有继续下去,长此以往,国将不国,不好不好。趁着年假,把早就搁在机器的草稿拎出来,再推进了五六千字,《Think SAS》(二):

http://cos.name/2010/12/think-sas-2/

感兴趣的朋友不妨去拍拍砖。还没写完,这个系列。

另外,我有一篇文章被明年的SAS全球论坛(SGF2011, April4-7, Las Vegas)接受,题目很大,叫做Work Smarter than Harder-tools for growing up a SAS programmer,写的是装备SAS程序员的一些普通工具。卑之无甚高论,但现实中一般SAS程序员的装备还是挺落后的,大都拿“分析员”而不是“程序员”的标准要求自个。这篇文章草稿在

http://jiangtanghu.com/docs/en/SGF2011_JiangtangHU(draft).pdf

一样欢迎大伙拍砖评论。

明年去拉斯维加斯,心里又不禁嘀咕,倒是可以趁着这个机会把SAS数据挖掘的认证考下来。这样这几个月就又有得东西忙了。

明年准备数据挖掘,但今年开始的统计学基础还不能丢。还想给“统计之都”写些类似“方差分析初步”之类的文字。统计学我的底子高深不了,就沉浸在表达这块了。

大伙新年愉快。

PhD in Statistics Needed: SAS R&D China

SAS中国研发中心(北京)需要招几个统计学博士(modeling+SAS)。感兴趣的朋友可以跟我联系:

jiangtanghu<at>gmail<dot>com

这里只负责牵线搭桥,具体的会安排您跟SAS R&D的负责人谈。

SAS博客大观

全民皆博(非“微博”)的黄金时期已经过去,各种技术博客倒是风起云涌(再拽一个词,方兴未艾)。说说SAS博客的事。

英文世界里,SAS程序员第一个应该去的地方应该是SAS Community Planet:

http://www.sascommunity.org/planet/   RSS订阅:http://www.sascommunity.org/planet/rss20.xml

现在里面收录了24个相关博客(包括“技止于此”的英文博客,From a Logical Point of View),内容涵盖SAS编程、BI、行业信息等等。另外,SAS一些员工或部门也在在其主页开博(现在是15个),见

http://support.sas.com/community/rss/

这里的博客与Planet的博客会有些重合,建议是一个个点过去,总能找到值得订阅的。比如,SAS公司负责IML开发的Rick Wicklin,今年的9月初开了一个IML相关的博客,唤作The Do Loop,现在已经有33篇了,质量都很高,而且适合不同层次的读者阅读。有意思的是,他有个明文的规矩,周一些初级篇,周三是中级篇,周五则是高级篇,各位读者,皆大欢喜(这里介绍了这么多Rick,也有一些私心。他上个月也推荐了一下我的一篇博文,也是关于IML的。之前我在blogger开英文博客,到现在也没写几篇,以后再接再厉了)。

回到中文世界。mysas论坛的掌门人shiyiming前些日子新开辟了一个栏目,叫做“SAS世博汇”,号称要“网聚全球优秀SAS博客的力量”(就是定期出爬虫抓取相关博客内容,中文为主,现在看到的数量是8,包括Liu Wensui、ooloo等知名ID)。mysas现在也支持RSS订阅,所以这个渠道看着也还不赖。

上海还有一个活跃的朋友,sxlion,新开了一个SAS博客群,在网聚SAS博客方面,用功甚勤:

http://saslist.com/

里面提供了一批SAS中英文博客(跟上面提到的也大多重合)。这个saslist还提供博客群服务,现在还是以mysas活跃的朋友为主,比如hopewell。刚刚建起,会有些粗糙的地方,有兴趣的朋友可以上午鼓捣一下。

关于群体博客,现在做得最好的是“科学松鼠会”,科普类。另外跟统计相关的,就是“统计之都”。sas群组,现在都还是刚刚起了个头。

九月技术/行业聚会:SAS、CDISC

九月在北京和上海分别参加了三个SAS、CDISC相关的聚会。见牛人云集,跟着乐呵了。

1.北京数据管理与生物统计论坛(BBF)第三次聚会

9月4号下午,周六,北大医学部。详见:

http://cos.name/2010/09/3rd-bbf/

2. mysas.net 线下交流

上海,谷麦咖啡店,9月11号,下午,参与者sxlion、jthu、tianwild、ahuige、shiyiming,话题:SAS非SAS,技术非技术,兴之所至,无所不聊。照片见:

http://mysas.net/sns/space.php?uid=1&do=album&picid=372

上海是SAS程序员的大本营。我第一次来上海,当然要去拜拜码头了。九月10号晚上我在北京发贴召集,还好有这么些活跃成员捧场。据说在上海,像这样临时凑一个局可不容易。

3. CDISC Interchange China 2010

这次CDISC交流大会中国站在上海举行,复旦大学医学院,9月15号。去年在北京办,跟同事也都参加了。一些话题

3.1  CDISC Worldwide – Highlights 2010 (including Healthcare link, JIC, BRIDG)  by Frank Newby and Rebecca Kush (CDISC)

演讲者是CDISC组织的二号人物,Frank Newby(简称“牛掰”。Rebecca Kush 是CDISC组织的CEO)。由于FDA的推动,CDISC现在一个很明显的动向就是与HL7的融合。这次大会本来还安排有HL7的CEO Charles Jaffe的演讲,Hl7-CDISC Relationship,应该也会很精彩,可惜Charles 没能过来。

3.2 x3C  Updates

x3C包括J3C、K3C和C3C,分别代表日本、韩国和中国的CDISC协调委员会(CDISC Coordinating Committee),演讲者是相应组织的负责人:

J3C: Yoshio Tsukada (GSK Japan)

K3C: Sukil Kim (Catholic University of Korea)

C3C: Simon Wang (Parexel China)

今年CDISC组织在亚洲的动作很大,你可以在CDISC的博客看些更新。

3.3 CDISC Standards for Study Start-up (Business Case, Protocol and Trial Registration, CDASH Standards for CRfs, eSource Data Interchange) by Frank Newby and Rebecca Kush (CDISC)

演讲者仍然是“牛掰”先生,强调把CDISC标准运用到临床研究的整个生命周期,从方案设计、数据收集到分析以及提交监管当局。

现在在概念上火的是CDASH,数据收集这块。我说是“概念”,是因为临床数据管理本身有很复杂和成熟的系统,要采用新的标准,还有很长一段路要走。

3.4 The future of Clinical Data: The Evolving Impact of CDISC and Hl7 Standards on Data Management, Submission, and Pharmacovigilance  by Wayne R. Kubick  (Phase Forward lincoln Safety Group)

Wayne R. Kubick 被认为是“CDISC之父”,在CDISC组织还没有形成时就是其领军人物。这次他讲临床数据的远景,其中一条也是与HL7的融合,以后大伙应该会经常CDISC/HL7的字眼。

Wayne 的口音跟相貌,都跟克林顿有类似,在Lincoln Technology工作(Lincoln Technology后来被Phase Forward 收购,而Phase Forward 最近又被Oracle收购)。

Lincoln Technology在临床研究领域是一个非常厉害的科技公司。会后我跟Wayne 聊到他部门另外一位伟大的科学家,William DuMouchel。William 在AT&T工作时发明了药物安全监测的Gamma Poisson Shrinker(伽玛泊松缩减)法,它是一种贝叶斯方法,为FDA推荐使用。

3.5 CDISC/FDA Pilot for Integrated Safety Data (Pediatrics Studies) by Yuguang Zhao (Eisai Global Clinical Development)

CDISC的SDTM标准已经被FDA接受。这次CDISC/FDA的联合活动,类似于完全运用CDISC标准向FDA提交临床研究报告的一次预演,包括SDTM、ADaM和define.xml。

这个演习活动,召集了业界二十来位好手,牵头人物是:

Chris Decker, d-Wise Technologies

Yuguang Zhao, Eisai Pharmaceuticals

Steve Hirschfeld, National Institute of Health

Yuguang之前在sanofi-aventis工作,是CDISC SDS TEAM的核心成员之一,今年上半年来我们办公室参观过。关于这次活动,你可以参考:

http://www.d-wise.com/papers/rs02.pdf

3.6 Building an eCRf CDASH library – A Case Study by Paula Silva (Phase Forward Services)

Paula讲的是CDISC的新宠,CDASH,以及Phase Forward公司的产品PhaseOne.

3.7 CAMD ADAS-cog Questionnaire SDTM and ADaM Implementation by Sandy Lei (J&J)

Sandy去年的CDISC活动中见过。她是中国CDISC的教母级人物,CDISC SDS TEAM的核心成员之一,前些年CDISC就是她给引进中国的。会后Sandy问我听得怎么样。我老实回答,其中只有SDTM/ADaM的部分能听懂,关于CAMD ADAS-cog 听得是一愣一愣的。回北京我是恶补了一下,你也可以参考下:

http://www.c-path.org/pdf/CAMDWorkScope.pdf

3.8 Update on Terminology and SHARE Project by Chris Tolk (CDISC)

Chris在CDISC组织里负责Terminology,她也是CDISC其他标准的活跃参与者。CDISC组织维护的Terminology,也被NCI的EVS系统收录,算是一个很大的成就了。

3.9 Integration of Electronic Data Capture (EDC) and Interactive Voice Response (IVR) randomization systems using ODM, vendor extensions and web services by Andrew Newbigging (Medidata Solutions Worldwide)

又是一位牛人(New–),Andrew Newbigging讲的是在EDC以及IVR系统运用CDISC的ODM模型,又是临床数据管理方面的内容。

3.10 XML: The SAS Approach by John (Jiangtang) Hu and Na Ye (Sanof Pasteur Biostatistics China)

我跟同事Na带来的话题安排在下午,最后一场,以契合我们业界小兵的形象。来上海之前我在公司排练过一次,这次讲完后,有朋友提醒,我演讲时手一有机会就插兜里,噫。不是为了摆酷,手本来就跟香蕉一样,上台时就不知道该放哪。

CDISC各个标准,其数据都是通过XML来储存和传输,我们这个话题就是来讨论如何用SAS来处理XML数据——SAS程序员嘛。

SAS书杂谈(1):两本统计书

1. Categorical Data Analysis Using the SAS System (2nd edition, SAS Inc., 2000)

作者三位(SDK),在这个领域都是行家,SAS公司的一位负责统计工具研发的总监Maura E. Stokes , 爱荷华大学生物统计系的教授Charles S. Davis(后来他投身工业界)以及北卡大学教堂山分校生物统计系的教授 Gary G. Koch 。用SAS做Categorical Data Analysis,这书是引用最多的一本。国内一本书,刘勤和金丕焕编的《分类数据的统计分析及SAS编程》(复旦大学出版社,2002),能看到本书的影子(美中不足的是,这本书丝毫没有提到SDK)。

我喜欢这本书,还因为它是我读过的SAS BBU(books by users)系列中排版较好的一本。BBU一般由SAS Press或Wiley两家出版社出版,一个印象是,Wiley出的SAS书排版会比SAS Press的质量高。这本书由这两家联合出版。

以前学Categorical Data Analysis,上手就是Logistic回归,做信用评分/数据挖掘需要这个(这本书的后半部分讲这些模型)。现在的工作,需要多的是本书的前半部分,对列联表做的各种检验,这是统计学里相对传统的部分,也是我这样非统计科班出身学统计学时忽略最多的部分。

还有,这本书的数序公式用得恰到好处,简洁又富有启发性,能让一个(只)有基本数学素养的SAS 程序员体会到模型的含义,又不至于淹没在数学符号的汪洋大海之中。

2.Common Statistical Methods for Clinical Research with SAS Examples(2nd edition, SAS Inc., 2002)

作者是SAS最老的一批咨询顾问Glenn A. Walker。现在这书出了第三版,加上了一位合作者,Duke Clinical Research Institute(世界上最大的学院CRO)的一位SAS程序员,Jack Shostak,他也是SAS Programming in the Pharmaceutical Industry的作者。

我没有比较与新版的区别,只说说手头的第二版。跟SDK一样,这本书是用来恶补现在所需要的统计学基础的,给回归只留了两个章节:

Chapter 1 – Introduction & Basics 
Chapter 2 – Topics in Hypothesis Testing 
Chapter 3 – The Data Set TRIAL 
Chapter 4 – The One-Sample t-Test 
Chapter 5 – The Two-Sample t-Test 
Chapter 6 – One-Way ANOVA 
Chapter 7 – Two-Way ANOVA 
Chapter 8 – Repeated Measures Analysis
Chapter 9 – The Crossover Design
Chapter 10 – Linear Regression
Chapter 11 – Analysis of Covariance
Chapter 12 – The Wilcoxon Signed-Rank Test
Chapter 13 – The Wilcoxon Rank-Sum Test 
Chapter 14 – The Kruskal-Wallis Test
Chapter 15 – The Binomial Test
Chapter 16 – The Chi-Square Test
Chapter 17 – Fisher’s Exact Test
Chapter 18 – McNemar’s Test
Chapter 19 – The Cochran-Mantel-Haenszel Test
Chapter 20 – Logistic Regression
Chapter 21 – The Log-Rank Test
Chapter 22 – The Cox Proportional Hazards Model

章节设置,跟Jerrold Zar那册有名的Biostatistical Analysis类似,正好方便SAS程序员备查。这些统计学,在药厂的clinical部门常用。至于模型味更浓的data mining系列,discovery和pharmacovigilance(PV,药物警戒)部门用得多些。

这本书在写作方面没什么特色,好处在于实用、全面,做工具书再好不过。

————————————————————-

作为非统计出身的SAS程序员,经常徜徉于data steps,现在翻翻它的统计部分,又能感受到它背后的另一片广阔天地。浏览一下SAS/STAT 9.2的研发团队,——罗列书名、人名总能激起我的斗志,噫。

Excel杂谈

SAS-Excel

晚提到Excelpro的新书,《Excel图表之道——如何制作专业有效的商务图表》(刘万祥,北京:电子工业出版社,2010)。说些Excel,从一个SAS程序员的角度。

相对SAS,或其他的软件包(SPSS、R/S-Plus、Matlab等),Excel都是一个轻量级的分析工具。本来,Excel无意在统计分析方面跟那些统计工具包一较长短,各有适用的地方而已。但在商业世界,用Excel做分析的用户太多了,说最流行也不为过,一些统计学者,就提醒广大用户,用Excel做统计分析时一定要谨慎些,它有时候不够严谨有时候不够靠谱。详细的,可以参考谢益辉的三篇博文(以及他文中所附的参考材料):

1.Excel中的缺失值和0

2.为什么避免用Excel作统计计算

3.再谈为什么不用Excel做统计分析

用Excel本身的计算引擎有时是不够严谨,这是故事的一个方面(当然,它应付日常工作还是可以胜任的,对Excel,我们这点信心还是有)。故事的另一个方面,是鉴于Excel的广泛流行,各大BI(商务智能)套件,包括SAS系统,都要提供与Office/Excel整合的功能。上面就是 SAS Add-In for Microsoft Office在Excel里面的一个截图。利用这个Excel插件,商业用户可以继续使用他/她熟悉的Excel,访问SAS数据,并利用SAS的计算引擎来分析和作图,最后结果返回到Excel(或者Word、PPT)。一家公司不提供这玩意,它的BI技术就要受到质疑,至少也是没有做到user-friendly。夸张点说,小小的Excel就这样爬上了BI平台的最顶端。

我们注意到,与Excel的整合,重点是把它作为用户接口和展示平台。对一个传统的SAS程序员,与Excel打交道也是他职业生涯的一部分:

1. 有时候,数据会存储在Excel里面。你可能没法理解,为什么要把数据存在Excel里面,这样轻量级的数据,存在文本里面不是更好吗?在真实世界里,大部分人的行为模式一般是这样,他们打开Word来记事,打开Excel来记录数据。数据存在Excel或许也能接受,如果它们规规矩矩,行列有序。有一种情形就是,在一个Excel Book里,数据散布于各个Sheets,在同一个Sheet,数据可能不是按行列来排,而是长得就像一个report。平心而论,这样的数据真的是user-friendly,只是不够machine-friendly。在Windows平台下,SAS Base有三种最常用的方式读取Excel数据:

1-1 proc import or Import Wizard

1-2 SAS Excel Libname Engine

1-3 SAS DDE (Dynamic Data Exchange,这属于Windows的技术)

Excel不是一个跨平台的数据格式。在Unix平台下,如何读取Excel数据呢?SAS也有解决方案,那需要用到一个SAS/ACCESS Interface to PC Files for UNIX和SAS PC File Server for Windows,这也是一个Libname Engine的方式。

2. 读入Excel数据,一个相反的操作就是把SAS数据(或output)转化成Excel。程序员或许不太愿意,但这在商业世界有需求。这里SAS更是提供了五花八门的解决方案:

2-1 proc Export or Export Wizard

2-2 SAS Excel Libname Engine

2-3 SAS DDE (Dynamic Data Exchange)

2-4 proc printto

2-5 SAS ODS

2-6 data steps

2-7  SAS Add-In for Excel

……

除了DDE,你还可以利用其他非SAS技术,比如ODBC、OLE DB等。有一个小花招。利用ODS,可以把数据转化成用户可以用Excel打开的CSV、XML或者HTML格式,而它们本身是比.xls更优越的存储格式。特别是CSV(comma-separated values file),本身是文本文件,在Windows世界里,很多用户都把它当成Excel的一种格式,默认的打开方式也是Excel(而不是文本编辑器)。

罗列了这么多SAS与Excel的交互,回到Excel本身。它是一个功能强大的电子表格,在数据分析与展示方面也有不俗的表现(Excel作图,可以参考上面提到的Excelpro所达到的境界)。它赢得如此多的用户,说明它能满足大部分人大部分的需求。一个SAS用户,或者SPSS、R/S-Plus、Matlab等用户不必在统计分析方面展示对Excel的优越,这样显得就不够大气了——本来Excel就无意在这方面跟它们竞争。况且,即使工具之间有优劣,工具的本身的先后也不代表他们用户的先后,急于争辩工具厉害的人,往往忽略了人本身,自以为手持屠龙刀,就无敌于天下。笑话。

————————————————————————–

再讲个笑话,跟谢益辉有关(最近举例似乎老拿谢同学说事)。谢于数据可视化颇有研究,最近秀出了不少的工作,当然都是用R来展示。楼下便有人惊呼:R好强大啊。不知道谢听了做如何想。