msgbartop
List for SAS fans and programmer
msgbarbottom

07 6月 17 《SAS编程演义》推荐语


《SAS编程演义》推荐语

by sxlion

         作者抱着朴素的助人初衷和与大家分享SAS编程经验的愿望,开始了写书历程,并保持着高昂的写作热情直到本书完成。据我所知,准备或部分完成SAS书稿的SASor(SAS爱好者的代称)不少,其中包括像我这样的鸡血分子,但是能够忍受重复编辑文字代码过程数日长时间的枯燥和保持追求更好一点的耐心,坚持到出版那一刻的SASor却屈指可数。纵览全书,作者在分析了市场上已有SAS参考书籍特点的基础上,给了本书一个较好的定位,填补了当前SAS实用编程书籍的较大缺口。本书章节内容丰富、编制合理,各章节富有层次和逻辑感,从各要点的选择与偏重就可见一斑。以绘图章节为例,中文SAS书籍基本上缺失了画图编程内容,即使有也是粗略的介绍,并无实质参考性。本书画图章节首先全面介绍SAS三种绘图功能模块,然后选择功能较强、上手较为容易的ODS(Output Delivery System)图形系统作实例绘图实现方式,运用逐步提问的方式,展示各类系列图形编程示例,举例丰富、又有一定的深度,较为全面的讲解了各种绘图编程方法。内容上安排匠心独具,实用性参考性很强。

显然,任何一本书,都不可能解决学习工作中的方案设计、数据收集、整理、分析及绘图展示等数据方面的所有问题,但是本书所叙内容对于SAS编程要素的解读、数据操作与管理、基于数据的绘图与制表等等均有实用参考功能和启发引导作用。因此,此书可作为不同编程水平层级的SASor案头常备书。

再次为作者的勤奋和诚意点赞!

邵小龙

原创文章: ”《SAS编程演义》推荐语“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/442


05 8月 15 SAS绘图即学即用系列连载4.0-点图


by sxlion

 SAS绘图即学即用系列连载4.0–点图: 以下代码 可以拷贝到SAS编辑器中,直接使用;稍作更改便可得到自己满意的图形。以下来自一本关于SAS绘图的书稿(未出版草稿),均为本人原创。 完整代码详见SAS资源资讯列表  www.saslist.net

4.0  点图

4.01 散点图

也可使用SYMBOL全局选项来改变点的属性。

sample401

1
2
3
4
5
6
7
8
FILENAME file "d:\SAS_charts\sample401.png";
goptions reset=all device=png gsfname=file/*设置图片格式和存放点*/
hsize=10cm vsize=8cm ; /* 设置绘图区域大小 */
symbol color=black value=dot ; /* 设置点属性 */
proc gplot data=sashelp.class;
plot weight*height/ vzero;
run;
quit;
4.02  分组散点图
sample402
1
2
3
4
5
6
7
8
9
FILENAME file "d:\SAS_charts\sample402.png";
goptions reset=all device=png gsfname=file
hsize=8cm vsize=8cm ; /* 设置绘图区域大小   */
symbol1 color=blue value=square  ;    /* 设置各分组数据散点的属性 */
symbol2 color=red value=squarefilled   ;
proc gplot data=sashelp.class;
plot weight*height=sex/vzero;  /* 使用绘图程序必须语句和选项*/
run;
quit;
4.03 双坐标轴 散点图

sample403

1
2
3
4
5
6
7
8
9
10
FILENAME file "d:\SAS_charts\sample403.png";
goptions reset=all device=png gsfname=file
hsize=12cm vsize=8cm ; /* 设置绘图区域大小 */
symbol1 color=blue value=squarefilled ; /* 设置各分组数据散点的属性 */
symbol2 color=black value=dot ;
proc gplot data=sashelp.class;
plot weight*age /vzero; /* 使用绘图程序必须语句和选项*/
plot2 height*age /vzero; /* 使用绘图程序必须语句和选项*/
run;
quit;
4.04   象限图 其他调整和修饰:点标记、参考线、修饰坐标轴、 标题 脚注

标记数据点和参考线

sample404

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
FILENAME file "d:\SAS_charts\sample404.png";
goptions reset=all device=png gsfname=file
hsize=10cm vsize=10cm ; /* 设置绘图区域大小 */
symbol1 color=orange value=dot H=2 POINTLABEL=("#name" JUSTIFY=center) ; /* 设置数据点的属性 */
axis1 order= (50 to 74 by 12) LABEL=( "身高/英寸") major=none minor=none; /*调整坐标轴的显示、改变轴标签内容*/
axis2 order= (40 to 140 by 50) LABEL=(angle=90 "体重/磅") major=none minor=none; /*调整坐标轴的显示、改变轴标签内容和位置*/
Title H=0.5cm font="MingLiU" "班级男生身高分布图" ;
Footnote justify=left "Data resource: sashelp.class" ;
proc gplot data=sashelp.class;
plot weight*height /
haxis = axis1 /*指定横坐标设置为前面全局设置坐标axis1*/
vaxis =axis2 /*指定纵坐标设置为前面全局设置坐标axis2*/
href = 62 chref=black /* 增加参考线*/
vref = 90 cvref=black;
where sex="男" ;
run;
quit;

原创文章: ”SAS绘图即学即用系列连载4.0-点图“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/403


30 1月 13 2013评点——怎么才能成为数据分析专家


2013已至,春节将至,本博距上次更新已经有两个月了。一个不成熟的观点一直在酝酿,到现在为止,还不大成熟。不过有些事情,现在不写,以后恐怕就也没有机会写了。

大数据,皇帝新装

这几天,终于可以闲下来了,翻翻了给俺家闺女准备的童话读物——《安徒生童话》,于是重新温故了下小时候读过的《皇帝的新装》。读完感觉:经典就是经典,这个世界有时候就是那么简单的重复着,故事老套,几百年都可以不变,情节都可以一样。 记得2000年左右上大学那会,一句“21世纪,是生物学的世纪” ,害得多少莘莘学子挤破脑袋去抢报生物专业。四年后,要么毕业去卖假药,比如“鳖精”、“红桃k”,“太阳神”等等;要么一条道读到黑——从硕士,博士,圣斗士,到烈士。现在不知多少“受害学子”在追问是谁不负责任的乱说 (注:这里不是埋汰学生物的人,这些都是学生物的同学跟我的吐槽)。类似的“21世纪是XX的世纪”可多了,什么“计算机的世纪”,“互联网的世纪”,“厨师的世纪”,最近还出了个“大数据的时代”。不扯远了, 还是谈谈童话吧, 皇帝爱衣服, 要新装;大臣爱皇帝,要皇帝开心;百姓爱大臣,要维护大臣;骗子爱金子,要卖衣服给皇帝。 于是生意就这么成交了,大家都开心了。本来新装游行都是这么顺利地,成功地进行,也是值得庆祝的。最讨厌的是安徒生, 偏偏安排个小朋友,说了那么一句不和谐的话,搞得这则童话变笑话,一直流传到现在。 想想,大数据,不就是这么回事么。 这个世界需要创新(未考证), 政府们需要业绩(真的), 科学家们需要拿课题(真的),厂家们需要卖硬件/软件(千真万确!!!,看看SAS的HPA和SAP的HANA硬件需求)。就这样,新的一场新装游行开始了,奥巴马的“新能源”不吸引人了,赶紧上新货——“大数据”,哄选民很重要。于是政府点头,科学家们牵头开会, 硬件软件厂商搭台,各方互动开始,大家有兴趣,可以看看我2012年收集的微博资讯——会议信息。 http://saslist.net

务实吧,准专家们! (更多…)

原创文章: ”2013评点——怎么才能成为数据分析专家“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/310


14 11月 12 SAS公司历史全知道一


SAS公司历史全知道一

by sxlion 

2011年美国最大的计算机专业杂志PCMAG杂志列出了科技界领袖的专属富豪榜中,SAS公司联合创始人兼CEO James Goodnight(硬翻译成“晚安”) 以69亿美元位居富豪榜第八。 如果不是因为使用SAS软件的原因,我相信大多数人不知道Goodnight这个人,他绝对够低调。另外,他也是美国北卡罗来纳州首富。

在上个世纪,SPSS,BMDP和SAS被称为国际三大统计软件,后来BMDP被 SPSS收购,SPSS今年又被IBM收购。SPSS收了BMDP以后就晾一边,晾没了,如今连域名bmdp.com处于待售状态。SPSS前老板老聂Norman Nie把SPSS卖给IBM后,自己捣腾个做R商业版本的公司Revolution R,看来老聂把BMDP和SPSS整垮了,还不甘心。不过看不出Revolution有什么前途,如今只剩下晚安老头孤独求败了。 from: http://saslist.net

图1.  Goodnight和他收藏的岩石、矿石、化石和陨石

        (更多…)

原创文章: ”SAS公司历史全知道一“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/299


17 10月 12 SASor界吐槽若干


没事就爱在微博上搜“SAS”关键词,据不完全统计,发现与SAS有关的95%微博都是SASor对SAS的各种吐槽。精选其中一部分,分享各种欢乐 ! SASlist.net

纯文字版

1, 学SAS才发现,智商是硬伤。

点评:我看别人学SAS,也有同样的发现。 by oloolo

 

2,  一天一夜,只为下个SAS。。。  by 寒月里

点评:你值得拥有!  You  deserve it !

 

3,  sas课实在太难,大家都拿着手机对着屏幕拍照,希望能捕捉到老师写的代码,此起彼伏的咔嚓咔嚓声,让我有种置身发布会现场的错觉。 by 暴君小邹

点评:SAS耍的就是大牌。 http://SASlist.net

 

4, 这里是SAS课,台上老师突然问:“现在是2013年对吧?” “…….”  数統的都是些神。 by 朱珣碧是强大的变形金刚微博达人

点评:你的老师肯定是用的盗版软件! http://SASlist.net

 

5, 妹的SAS,我电脑和你有仇!为毛同一个安装文件,同一道程序,就我的不行! 是我太爱你了嘛?!!  by chenyA玲

点评: 论坛月经贴,微博日经贴。 http://SASlist.net

 

配图版 (更多…)

原创文章: ”SASor界吐槽若干“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/291


03 9月 12 SAS函数精选三 翻译


系列:  SAS函数精选一           SAS函数精选二

 

CATS和CATX函数

         这两个函数用于连接字符串。函数CATS首先去掉每个要连接字符串的首尾空格。CATX也会去掉首尾的空格,并且还会在每个字符串之间插入分隔符(CATX函数的第一个语句)。

         这些函数需要非常注意的点是结果的存储长度,如果没有预先定义,默认是长度200。而你使用连接符号(||或!!)只是这些连接字符串长度之和。

         如果你有一系列的变量如Base1-Basen,你可以在列表前使用关键词‘OF’。最后,列表中的值可以是字母,也可以说数字。如果一些语句是数字,SAS将会把数字当作字母对待,并且不会在SAS log里面出现转换信息。

         下面的例子示意这些函数字母操作去掉空格,函数CATX字母插入分隔符。

程序17

1
2
3
4
5
6
7
8
data join_up;
length Cats $ 6 Catx $ 13;
String1 = 'ABC ';
String2 = ' XYZ ';
String3 = '12345';
Cats = cats(String1,string2);
Catx = catx('-',of String1-String3);
run;

图17:程序17的输出结果

Cats         Catx

ABCXYZ    ABC-XYZ-12345

COUNT和COUNTC函数

         SAS有两个计数函数,COUNT和COUNTC。它们之间的区别就像FIND和FINDC。COUNT计算一个子字符串在一个字符串中出现的次数,COUNTC计算单独字母在字符串中出现的次数。这些函数的语句和FIND和FINDC一样。第一个语句是你想要搜索的字符串,第二个语句是子字符串(COUNT)或一列字母(COUNTC)。最后你可以在第三个语句中使用可选的修饰符,其中修饰符‘i’(忽略大小写)最有用了。 (更多…)

原创文章: ”SAS函数精选三 翻译“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/284


03 9月 12 SAS函数精选二 翻译


系列:  SAS函数精选一              SAS函数精选三 

 

SUBSTR函数

         如果你需要从一个字符串中提取一个子字符串,你需要SUBSTR函数。需要提醒一下的是,有个函数SUBSTRN非常像SUBSTR,就是多了一些额外的特征。我不知道这些特征是否经常被需要,因此本文选择描述稍微简单的函数SUBSTR。

         此函数的第一个语句是输入字符串,第二个语句是你想要提取字符串的开始位置,第三个是,可选语句,设定子字符串的长度。如果你忽略第三个语句,函数将提取输入字符串中最后一个非空字母,也就是说,它忽略输入字符串的后面的空格(这个特征非常有用)。

         在我们继续例子之前,理解默认长度这个概念非常重要。比如说,在下一个程序中,如果你没有写LENGTH语句,SAS将仍然需要设置一个长度给State。对于这个函数,默认长度等于函数第一个语句的长度。你不能使得从字符串提取的子字符串长于字符串本身。很多其他的SAS字符函数默认长度为200。需要保证的是,具有这个功能的函数需要在DATA步中包含LENGTH语句。最好是包含LENGTH语句,即使是不需要,这样是没有风险的。http://saslist.net/

         下面是一个使用SUBSTR函数的简单例子。

程序9

1
2
3
4
5
6
7
8
9
data pieces_parts;
input Id $9.;
length State $ 2;
State = substr(Id,3,2);
Num = input(substr(Id,5),4.);
datalines;
XYNY123
XYNJ1234
;

         这里是你想要提取州号码(从位置3开始,一共两位),ID的数字部分从位置5开始。注意你忽略数值提取中的第三个语句。这个非常有用,因为有的数字是3个字符长,有的是4个字符长。这个例子中,你使用INPUT函数将字符转化为数值。

         图9,程序9的输出结果

    Id       State     Num

 XYNY123      NY       123

 XYNJ1234     NJ      1234

使用等号在左边的SUBSTR函数

         在早期学SAS的时候,等号在左边的SUBSTR函数被称为是SUBSTR假函数。据我所知,这是SAS唯一等号在左边的函数。下面是它的用途:

         允许你用新的字符来替代已有字符串中的字符。这个听起来挺复杂的,但是你通过下面的程序看到,这实际上是很直接的方式。下面的程序使用SUBSTR函数(等号在左边的)来遮住帐号的前五个字符。 (更多…)

原创文章: ”SAS函数精选二 翻译“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/283


01 9月 12 SAS函数精选一 翻译


下面是Dr. Ron Cody的一篇关于SAS函数的文章,非常好的函数介绍文章。曾经在2009年SAS公司(上海)举办的一次SASor聚会上,我做了一次关于SAS函数的presentation分享,见 ppt正文,我发现竟然有部分内容重合。 我个人非常喜欢SAS系统提供的函数,建议老手新手都可以读读下面的文章,祝都有所获!

最有用的一些SAS函数
A Survey of Some of the Most Useful SAS Functions

by Dr. Ron Cody   翻译 sxlion

摘要:

     SAS函数为你的数据步(DATA step)编程提供惊人的能力。有一部分SAS函数是精华,能够帮助你节省大量不必要的代码。这篇文章内容覆盖其中最有用的一些SAS函数。有些函数可能对你来说有些陌生,然后她们将会改变你的编程方式,并助你轻松完成日常的编程任务。

 介绍:

         本文写到的大部分函数都与字符数据有关,这些函数的功能包括搜索字符串,查找和替代字符串,或连接字符串,还有些函数能测量两个字符串之间的距离(这对于“模糊”配对非常有用)。一些最新和最叹为观止的函数还以Call例程的形式存在。你知道怎么用函数在同一个观察值进行排序吗?你知道你不仅可以定位一列变量中极大或极小值,而且可以定位到第二位、第三位最大或最小的值? 如果你觉得上面的介绍能够吸引你的兴趣,请继续往下读! http://saslist.net

SAS是怎样存储字符值的?

 在我们讨论字符函数之前,了解SAS怎样存储函数值非常重要。为了帮助讨论,你首先需要理解两个重要的字符函数:LENGTHN和 LENGTHC。

LENGTHN和 LENGTHC

        这两个函数返回字符值的长度信息,其中LENGTHN返回未计算后缀空格语句的长度。LENGTHC返回字符变量的存储长度。你也许对旧的SAS函数LENGTH比较熟悉,大部分情况下函数LENGTH和LENGTHC返回同样的值。有一个例外的是,当语句里是缺失值时,LENGTH函数返回的是1,而LENGTHN返回0。有一些新函数看起来是在旧函数后面加个字母“n”,这里的“n”代表“空字符串”(“null string”)。在SAS9中,长度为0的字符串概念被引进。在大多数情况下,如果你看到一个你似曾相识的新函数(比如说新函数TRIMN, (更多…)

原创文章: ”SAS函数精选一 翻译“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/282


16 3月 12 SAS资讯 from 新浪微博 – 2012-03-02


SAS资源资讯 第 19 期微博汇
.
大数据分析时代来临, 各种工作机会来了, 接近90度的增长斜率开始显示能量了。
                                                                                                                  .
SASor 加油! //@刘政-SAS: 将来国家的竞争能力就是分析人才的质量和数量,你准备好了吗?SAS可以为你提供学习的平台。//@数学文化: 《纽约时报》文章称“大数据时代”(Age of Big Data)已经降临,在这一领域拥有专长的将面临许多机会。哈佛大学量化社会科学学院院长Gary King称:“我们正在进行一场革命,庞大的新数据来源所带来的量化转变将在学术界、企业界和政界中迅速蔓延开来。没有哪个领域不会受到影响。”http://t.cn/zOwkHBT     [02/15/2012 10:05:58]

热烈的招聘

  1. 请直接在新浪微博上 @张博伟888 取得联系:临床 SAS Programmer Lead 年薪100W 左右 英文流利 地点:天津   要求:要10年SAS programmer经验,5年以上临床经验,3年以上管理经验的。
  2. (更多…)

原创文章: ”SAS资讯 from 新浪微博 – 2012-03-02“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/233


23 2月 12 SAS资讯 from 新浪微博 – 2012-02-02


SAS微薄资讯18期

本期SAS招聘
  1. SAS招聘 //@一平方风筝: 有想进入外资银行做MIS和data analysis的人吗?要求会sql,熟练运用excel(函数和宏),最好还会sas。9k左右,成都。有意请私信 – 原文地址:http://t.cn/z0em3aa [01/17/2012 16:57:16]@英创人才上海国际部: 500强日化公司,数理统计高级研究员,张江高科技园区,月薪7-9k。要求:统计学、生物统计专业;熟练应用SAS或SPSS;流利的英文听写能力,本科1-2年工作经验或硕士应届毕业生,有临床或日化行业经验优先。简历发送到tongqt@yingchuang.com – 原文地址:http://t.cn/SidGFC [01/04/2012 21:10:54]
  2. 转发微博//@来邦网生物人才微博平台: [Manager Biostatistics,深圳赛诺菲巴斯德生物制品北京分公司] MS in statistics with 0-4 years of pharmaceutical industry or equivalent qualification/experience. Demonstrated experience with SAS software. cnpasteurhr@sanofipasteur.com [01/14/2012 23:03:06]
  3. 转发微博//@Intelligence英创人才: #微招聘#北京 大冢集团 大冢制药研发(北京)有限公司 数据管理专员SAS(DM) 税前月收入 ~10000元 详情请点击http://t.cn/S6z3tR [01/14/2012 22:56:13]
  4. 转发微博//@SAS杨旭: SAS北京研发中心招聘C 研发工程师,文本挖掘方向,请有意者微博联系我。 [01/12/2012 23:17:43]
行业会议
  1. //@张磊IDMer: 转发微博//@SIGKDD2012: KDD’12的research track和Industrial and government track的投稿日期为2012年2月10日,欢迎各位同行踊跃投稿!需要提醒的是今年的KDD会议没有论文摘要投稿要求,并且2月10日是论文投稿的hard deadline,不会再延期。 [01/30/2012 17:21:21]
  2. (更多…)

原创文章: ”SAS资讯 from 新浪微博 – 2012-02-02“,转载请注明: 转自SAS资源资讯列表

本文链接地址: http://saslist.net/archives/230