sxlion

6月 072017
 


by sxlion

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

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

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

邵小龙

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

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


8月 052015
 


    以下代码 可以拷贝到SAS编辑器中,直接使用;稍作更改便可得到自己满意的图形。以下来自一本关于SAS绘图的书稿(未出版),均为本人原创。 

by sxlion

4.1  点图
4.01 散点图

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

sample401

1
2
3
4
5
6
7
8
FILENAME file "d:SAS_chartssample401.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_chartssample402.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_chartssample403.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_chartssample404.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.1“,转载请注明: 转自SAS资源资讯列表

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


1月 302013
 


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

大数据,皇帝新装

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

务实吧,准专家们!

什么叫务实,我觉得是用现存的工具马上解决问题叫务实。UC Berkeley和Twitter联袂推出的公开课《Analyzing Big Data With Twitter》中提到:“务实的不从机器学习,而是着重从软件方法的角度来谈解决大数据的问题”。 作为SAS粉,不得不有时候踏踏实实感到SAS/HELP文档的深度和厚重,还有其系统性,其他软件是没有可比的,深耕SAS各个模块的帮助文档,如果你真的下定决心学好统计软件的话。另外,SAS在中国大陆高校开始推行免费政策,人大,北大,华东师范等一些高校师生已经陆续用上了免费的SAS。这招挺务实的,比以前组织的不靠谱SASor聚会靠谱多了。

前两天,刚好到一个校友实验室参观了下,面积不大,不到70平,不过做出来的产品只有一种,但用途很广,能替代同领域的任何厂家的产品。重点的是,他们是正向开发,不是拆机山寨模仿。他还讲了一个故事,有一家公司的设备某部件出问题,以前找一单位帮忙搞定,人家派出了一支十余人的庞大团队,问题最终没有解决。后来偶然机会找到了他,他一个人前往,很快解决。虽然别人不大相信他能做到,但是他确实精通别人十人团队各个角色的业务。这年头,“专家”无用,所谓的“团队合作”,只能提高体力之类工作的效率。真正的专家其实都是通才。说到数据分析这个行业吧,你也必须什么都懂,理论,工具和业务,一个都不能少。http://saslist.net

后来,和校友聊天才知道,博士毕业后,选定了这个方向后,投入了5,6年,才做出今天这样的产品,其他方面的事什么都没干。前段时间,微薄上流行个“一万小时天才理论”,尽管这个说法有点成功学的味道(因为天才和成功都是无法界定的,虚的。),但是却扎扎实实地道出了要成为某一个领域的专家,练习实践不可缺少的事实。比如说SAS编程技能吧,SAS语法这么晦涩难懂古老, 没个三五年,很难熟练使用。业务嘛,每行的水都很深,少不了几年的行业浸润。要成为专家,投入还是挺巨大的。

当然也不乏风险,他提到他选的这个方向是他自己选的,和他导师建议的不一样。后来证明他是对的,产品高端,又不失市场。虽说,我觉得大数据是虚的,但是数据分析却是正儿八经的实在。这类职业,不光是在国内,美国和加拿大的需求也很旺盛。数据科学家(DS)的概念也挺靠谱的,以后可作为数据分析的主攻方向。http://saslist.net

 新手建议

一个小插曲:前几天一位QQ群新朋友, 问的是简单的编程问题,有关数据清理的,却口口声声说是她主要是搞算法的,我建议她直接用SAS/EM点点就行了,偏不! 非要体验下SAS编程的感觉,哈哈哈哈… 。我好心建议她从从基础学起,讲了半天,无果。我这里不想在重复了,在本博读者互动栏,有关于SAS学习及工作前景的一些问题,还有几位朋友的经历可以参考下:一个SAS菜鸟的故事我的数据挖掘之路

注:本来常规的微博汇总每月一次,无奈,微博里的有效信息量大减,继续汇总没有意义,停了。

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

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


11月 142012
 


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和他收藏的岩石、矿石、化石和陨石

        有人把即将或已经来临的大数据时代比作以往美国的黄金潮“Gold rush”时期,并且不少大小IT公司都纷纷投入浪潮之中,都想挖上几桶属于自己的金矿。据说在美国黄金潮时期,不是每个淘金人都能挖到金子,只有卖工具的人才是稳赚。巧合的是,晚安老板从小就喜欢收藏各种石头,包括各种岩石、化石、陨石,当然也包括金矿石。如今,晚安老板不必亲自去淘金,只要卖卖互联网淘金利器——SAS软件就可以坐在家里数金子了。

由于SAS公司是私人公司,没有上市,很少见于报端。另外它主营的统计软件SAS和数据分析业务,相对火爆的IT行业来说,之前一直都显得默默无闻。直到最近大数据概念的兴起,加上与强劲发展的电子商务联系紧密,商业数据软件和分析行业才凸显其重要性。今年正好是SAS公司成立35周年,这里想给对SAS公司感兴趣的读者,介绍一下SAS公司的发展历史,增加点谈资。 from: http://saslist.net

  图2. Anthony James Barr,SAS公司创始人之一

SAS发源于北卡罗来纳州立大学的一个农业研究分析项目“Statistical Analysis System”,简称SAS,一度曾是“统计分析系统”的代名词。1966年美国农业部的研究项目产生了大量的数据。美国国立卫生研究院资助共同体University Statisticians Southern Experiment Stations,开发一个通用统计软件包来分析其收集的数据,该项目的成果“统计分析系统”,三个首字母就是后来SAS公司名称。因为当时北卡罗来纳州立大学有一台功能比其他大学强大的大型计算机,所以北卡罗来纳州立大学领导了该共同体,项目最终落户于统计系。正好在北卡统计系教书的晚安和另外一个同事吉姆.巴尔(James Barr)作为该项目的主持人,巴尔负责设计系统架构,晚安负责功能实现及扩展。Tony是一位伟大的计算机科学家,SAS的第一个发行版(1972年),Tony贡献了65%的代码量。1979年初,Tony离开SAS,并把他在公司的40%的份额以34万美元卖给了Jim。Tony离开SAS公司,又创办了几家公司,只是再也没有像SAS这样成功。 saslist.net

 图3 年轻时候的John Sall

随后几年,SAS软件以License的方式得到医药公司、保险公司和金融机构的采用,共同体成员也继续资助该项目。北卡罗来纳州立大学统计系职员简.赫尔维格(Jane Helwig)加入该项目担任文档工程师,程序员约翰.萨尔(John Sall)成为核心团队中的一员,John也就是后来SAS公司另一产品JMP软件的创始人。JMP是SAS公司1989年10月推出的独立面向苹果操作系统的,全称为John Sall’s Mackintosh Program,1994年推广到微软视窗平台windows,现在到了版本JMP10。 from: http://saslist.net

 

待续:SAS公司历史全知道二 

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

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


10月 172012
 


没事就爱在微博上搜“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

 

配图版

1, 傻傻傻… SAS程序跑出来一满屏幕的‘傻傻傻傻傻傻’。。。。连SAS都欺负我!!!!! by 嘭嘭嘭嘶

点评:SAS虐我千百遍,我对SAS如初恋。

 

2, sas是多么的弱……zz        by  姜有溜儿要改邪归正

点评:没有这个经历的人都不好意思说自己懂SAS。 http://SASlist.net

 

3, SAS新的slogan: The power to show !     by  ice_and_fire

点评:就是这么power !   http://SASlist.net

 

4, 每次看到sas就这样。  by Echo不是回声

点评:。。。

 

欢迎大家来评 ! http://SASlist.net

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

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


9月 032012
 


系列:  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’(忽略大小写)最有用了。下面的程序演示这两个函数。

程序18

1
2
3
4
5
6
7
8
9
data Dracula; /* Get it Count Dracula */
input String $20.;
Count_abc = count(String,'abc');
Countc_abc = countc(String,'abc');
count_abc_i = count(String,'abc','i');
datalines;
xxabcxABCxxbbbb
cbacba
;

图18:程序18输出结果

                     Count_    Countc_    count_

  String               abc       abc       abc_i

  xxabcxABCxxbbbb       1         7          2

  cbacba                0         6          0

有意思的组合:COUNTC和CATS函数

        COUNTC和CATS函数组合非常有意思和强大。假如你有一个调查,你对每一个结果记录’Y’或’N’。假如你想要对‘Y’进行计数(不论大小写)。你可能立即想到把每个调查变量放到一个数组中,然后循环每个问题,逐个对‘Y’进行加一计数。试试独创的COUNTC和CATS函数组合方法来实现这个目标。第一次见到组合函数是我的朋友Mike Zdeb发来的邮件。我相信是他首创的这个方法。下面是代码。

程序19

1
2
3
4
5
6
7
data Survey;
input (Q1-Q5)($1.);
Num = countc(cats(of Q1-Q5),'y','i');
datalines;
yynnY
nnnnn
;

         CATS函数连接所有的调查结果到一个字符串中,然后使用COUNTC函数对这个字符串中的‘Y’进行计数。我太喜欢这个程序了。

图19:程序19的结果

 Q1    Q2    Q3    Q4    Q5    Num

 y     y     n     n     Y      3

 n     n     n     n     n      0

一些日期函数 MDY, MONTH, WEEKDAY, DAY, YEAR和YRDIF

         这一节涉及到最常用(有用)的日期函数。函数MDY根据给定的月份、天和年份返回一个SAS日期。函数WEEKDAY,DAY,MONTH和YEAR的语句中使用SAS日期,分别返回一周中的一天(比如1等于星期日,2等于星期一,依此类推),一个月的天数(从1到31的数字),月份(从1到12的数字)和年份。

         函数YRDIF计算两个日期相隔的年数。前面两个语句为第一个日期和第二个日期。第三个可选的语句允许你指定一个月中的天数,一年中的天数。例如,对于特定的金融计算(比如债券利息),你可能指定‘30/360’达到每月30天,每年360天。函数YRDIF 在计算闰年的时候有点不同,这个问题在SAS9.3中已经解决。如果你使用的是9.3以前的版本,你需要指定‘ACT/ACT’作为YRDIF函数的第三语句。注意,当涉及闰年是,计算结果有一天的偏移。尽管如此,笔者认为这个仍然比把两个日期之差除以365.25。下面的程序演示所有的日期函数:

程序20

1
2
3
4
5
6
7
8
9
10
11
data DateExamples;
input (Date1 Date2)(:mmddyy10.) M D Y;
SAS_Date = MDY(M,D,Y);
WeekDay = weekday(Date1);
MonthDay = day(Date1);
Year = year(Date1);
Age = yrdif(Date1,Date2);
format Date: mmddyy10.;
datalines;
10/21/1955 10/21/2012 6 15 2011
;

图20:程序20的结果

            Week    Month

SAS_Date     Day     Day     Year    Age

18793       6       21     1955     57

ARRAY数组函数

你定义一个数组,发现对数组中的元素进行计数是件不方便的事。在一个数据集中,你定义了一个全部是数值或字符变量的数组。如果数据包含大量的变量,你可能不会数它们。函数DIM将数组名作为语句,返回该数组的元素个数。特别是当你定义数组,你使用星号来代替数组元素个数。

在下面的程序中,使用关键词_numeric_和 _character_定义了两个数组。在数据步定义了所有的数值或字符变量。在这个程序中,你想把所有的从999的数值转化成SAS缺失值。并且把所有的字母值转换成合适的大小写状态。

程序21

1
2
3
4
5
6
7
8
9
10
11
12
13
14
data convert;
input (A B C)($) x1-x3 y z;
array nums[*] _numeric_;
array chars[*] _character_;
do i = 1 to dim(nums);
if nums[i]=999 then nums[i]=.;
end;
do i = 1 to dim(chars);
chars[i] = propcase(chars[i]," '");
end;
drop i;
datalines;
RON jOhN mary 1 2 999 3 999
;

像这样定数组将结果你大量的时间和编程精力。

图21:程序21的输出结果

     A      B       C      x1    x2    x3    y    z

 Ron    John    Mary     1     2     .    3    .

N,NMISS, SUM和MEAN函数

这类函数被称为描述统计函数。函数SUM和MEAN分别计算总和和平均值。记住,这些函数忽略所有的缺失值(不同于把缺失值当作0)。

函数N返回列表值中所有非零值的数目;函数NMISS返回列表值中缺失值的个数。

下面的程序演示了一个非常有用的函数N、NMISS和MEAN组合。当列表数据中存在特定数量的非缺失(或缺失)值,计算出平均值。下面的程序就是这样:

程序22

1
2
3
4
5
6
7
8
9
10
11
data descriptive;
input x1-x5;
Sum = sum(of x1-x5);
if n(of x1-x5) ge 4 then
Mean1 = mean(of x1-x5);
if nmiss(of x1-x5) le 3 then
Mean2 = mean(of x1-x5);
datalines;
1 2 . 3 4
. . . 8 9
;

         在这个程序中,仅当非缺失值个数大于或等于4时,计算Mean1;当缺失值等于或少于3个时,计算Mean2。

图22:程序22的输出结果

Sum    Mean1    Mean2

  10     2.5      2.5

  17      .       8.5

SMALLEST和LARGEST函数

         非常容易找到一列数值中最大(函数MAX)和最小的值(MIN),然而,想找到第二大或第二小的之类的值则非常困难。在SAS中,你可以使用SMALLEST和LARGEST函数找到第nth最大或最小值。这类函数的第一个语句指定排位数。例如,SMALLEST(1,of x1-x10)和MIN(of x1-x10);SMALLEST(2,of x1-x10)返回第二小的值。注意,这两个函数都忽略缺失值。下面的程序演示两个函数。

程序23

1
2
3
4
5
6
7
8
9
10
data descriptive;
input x1-x5;
S1 = smallest(1,of x1-x5);
S2 = smallest(2,of x1-x5);
L1 = largest(1,of x1-x5);
L2 = largest(2,of x1-x5);
datalines;
7 2 . 6 4
10 . 2 8 9
;

图23:程序23的输出结果

x1    x2    x3    x4    x5    S1    S2    L1    L2

7     2     .     6     4     2     4     7     6

10     .     2     8     9     2     8    10     9

LAG函数

         由于SAS每次处理一条观察值,你需要一种获取上一条观察值的方法。例如,你可能要计算这一条和下一条观察值之间的差异。函数LAG提供可能性,函数LAG返回上次这个函数执行时语句的值。理解这点非常重要! 如果你选择性的执行这个函数(比如在IF语句后面),当条件为否时,下次你执行这个函数是,你将得不到上条观察值——你将得到上一次IF语句为真时的值。

         这里用LAG函数的家族函数:LAG2返回向前第二次的值,LAG3返回前第三次的值,依此类推。如果你在数据步循环中,执行LAG函数,它将返回前一次,前两次,前三次值等等。

         一个LAG函数常用的作用是计算观察值之间的差异,另一个常用的是,计算移动平均,如下面程序所示。

程序24

1
2
3
4
5
6
data Moving;
input X @@;
Moving = mean(X,lag(x),lag2(x));
datalines;
50 40 55 20 70 50
;

在这个程序中,你得到当前值和前两次值的平均值。

图24:程序24的输出结果

  X     Moving

 50    50.0000

 40    45.0000

 55    48.3333

 20    38.3333

 70    48.3333

 50    46.6667

CALL SORTN例程

         你可以使用CALL SORTN例程在观察值内进行排序。你在例程中语句中放入变量,执行后,所有的值发生改变,并以升序的形式排列。看看下面程序演示是怎么工作的。注意,CALL SORTC例程是针对字母值的。当你你用这些例程时,所有的字母值必须是长度相同,结果是以字母顺序排列的。

         程序25

1
2
3
4
5
6
7
data Scores;
input Score1-Score5;
call sortn(of Score1-Score5);
Top3 = mean(of Score3-Score5);
datalines;
80 70 90 10 80
;

         输出结果如下,你看到原始scores值为80,70,90,10和80,结果中值位置发生改变,Score1最小,Score2次之,依此类推。

图25:程序25的输出结果

Score1    Score2    Score3    Score4    Score5      Top3

10        70        80        80        90      83.3333

结论

         这篇文章包括一些最有用的SAS函数。我认为有点多了,但是它们都是我最喜欢的。我想看完后该了解SAS函数对于数据步编程来说是多么的不可或缺。

参考

Cody, Ron, 2010, SAS Functions by Example, Second edition, SAS Press, Cary, NC., SAS OnLine Doc., SAS Institute, Cary, NC.

原文作者Cody, Ron  A Survey of Some of the Most Useful SAS ® Functions http://support.sas.com/resources/papers/proceedings12/241-2012.pdf

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

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


9月 032012
 


系列:  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函数(等号在左边的)来遮住帐号的前五个字符。代码如下:

程序10

1
2
3
4
5
6
7
data bank;
input Id Account : $9. @@;
Account2 = Account;
substr(Account2,1,5) = '*****';
datalines;
001 123456789 002 049384756 003 119384757
;

         首先,你把Account的值赋给另一个变量(Account2),这样你不会改变原来变量的值。然后,你替换Account2中的字符,从位置1开始的用5个长度的5个星号。下面是结果:

图10:程序10的结果

Id     Account     Account2

 1    123456789    *****6789

 2    049384756    *****4756

 3    119384757    *****4757

SCAN函数

你可以使用SCAN函数来解析一个字符串。SCAN函数的第一个语句是你需要解析的字符串。第二个语句指定你需要提取的单词“word”。第三个语句(可选)是分隔符列表。我把“word”用引号引起来原因是SAS定义一个单词都会用一个分隔符分开。默认的分隔符号是特别长,并且与ASCII和EBCDIC编码稍稍有些不同。因此,这样便于更好的提供一个第三个语句和显示的指定你的分隔符。

这个函数一个非常有用的特征是,你能够使用负数值。这将导致扫描从右向左进行,这个对于类似First, Middle,Last或First, Last形式的姓名解析非常有用。       如果你使用语句值为-1时,你将会得到last name那么。下面是举例:http://saslist.net/

程序11

1
2
3
4
5
6
7
8
9
10
11
data first_last;
length Last_Name $ 15;
input @1 Name $20.;
Last_Name = scan(Name,-1,' ');
datalines;
Jeff W. Snoker
Raymond Albert
Alfred E. Newman
Steven J. Foster
Jose Romerez
;

         有些名字包含一个中间名,有的则没有。在这个函数的第二个语句中使用-1,你就可以总是得到last name。

图11:程序11的结果

  Last_

  Name            Name

 Snoker     Jeff W. Snoker

 Albert     Raymond Albert

 Newman     Alfred E. Newman

 Foster     Steven J. Foster

Romerez    Jose Romerez

UPCASE,LOWCASE和PROPCASE 函数

         这三个函数主要是用于改变语句的大小写状态。UPCASE和LOWCASE的功能是显而易见的。PROPCASE(意思是合适的大小写状态)将每一个“word”第一个字母大写,而将其余的字母小写。同样,你看到这里的“word”也放在引号里。这个默认的分隔符是空格,因此PROPCASE函数将会把每个单词首字母改成大写。你可以指定一系列分隔符作为该函数第二个可选语句。我推荐同时指定空格和单引号作为分隔符。然后这个函数就会正确的大写首字母,比如说D’Angelo。下面是例子:http://saslist.net/

程序12

1
2
3
4
5
6
7
8
9
data case;
input Name $15.;
Upper = upcase(Name);
Lower = lowcase(Name);
Proper = propcase(Name," '");
datalines;
gEOrge SMITH
D'Angelo
;

注意你需要将你指定的分隔符列表放在双引号中。

图12:程序12的结果

Name            Upper           Lower           Proper

 gEOrge SMITH    GEORGE SMITH    george smith    George Smith

D’Angelo        D’ANGELO        d’angelo        D’Angelo

TRANWRD函数

这个函数对给定字符串执行查找和替代的操作。这个函数有三个语句分别是输入字符串,需要查找的字符串和替代字符串。如果替代字符串比需要查找的字符串还要长,你可能需要使用LENGTH语句来新建一个变量,以防你的值被默认截断。TRANWRD使用的通常情况是地址标准化,如下面的程序所示。

程序13

1
2
3
4
5
6
7
8
9
10
11
12
data convert;
input @1 address $20. ;
*** Convert Street, Avenue and
Boulevard to their abbreviations;
Address = tranwrd(Address,'Street','St.');
Address = tranwrd(Address,'Avenue','Ave.');
Address = tranwrd(Address,'Road','Rd.');
datalines;
89 Lazy Brook Road
123 River Rd.
12 Main Street
;

         使用三个TRANWRD函数,你可以用Street,Avenue和Road缩写来替代它们。

图13:程序13的结果

Obs    address

 1     89 Lazy Brook Rd.

 2     123 River Rd.

3     12 Main St.

SPEDIS函数

         函数SPEDIS是模糊配对最有用的函数之一。这个函数计算两个字符串之间的拼写距离“spelling distance”。你曾经在微软办公软件Word中拼写错过单词吗?Ok,别人告诉我如果你拼写错了,Word将会在拼错单词下面划红线。你可以通过右击鼠标,然后下拉菜单中将出现可能正确的单词。函数SPEDIS使用了类似的算法,如果两个字符串(分别是语句1和语句2)配对非常准确,那么函数返回0。对于每一组拼写错误,函数给出一个罚分。例如,如果你的第一个字母错误,你就会得到一个大的罚分。如果你将两字母位置搞错(比如位置对换),你将会得到一个相对小的罚分。当函数合适每类错误,它除以根据第一个字符串的长度的总罚分。这样就有意义了。假设你在一个三个字母的单词和10字母单词中拼写一个错误相比,那么前面则是错误更大,拼写距离也就越大。

         对于拼写距离来说,什么样的值认为大呢?例如,如果你在对两个文件中进行姓名配对时允许非常大的拼写距离值,你可能将不属于一块的观察值联系起来。如果你允许姓名之间非常小的拼写距离,你可能不会将同样的姓名放一起。为了感受不同拼写错误导致的结果值,看看下面的程序: http://saslist.net/

         程序14

1
2
3
4
5
6
7
8
9
10
11
data compare;
length String1 String2 $ 15;
input String1 String2;
Points = spedis(String1,String2);
datalines;
same same
same sam
first xirst
last lasx
receipt reciept
;

图14:程序14的结果

String1    String2    Points

 same       same          0

 same       sam           8

 first      xirst        40

 last       lasx         25

 receipt    reciept       7

你可能考虑使用SOUNDEX来配对两个文件中的姓名,然而,我发现SOUNDEX更倾向于差异特别大的姓名配对。

TRIMN和STRIP函数

         函数TRIMN用来去掉后缀空格,函数STRIP用于去掉前面和后缀的空格。TRIMN和老的函数TRIM类似,除了在处理缺失值问题上。当你有一个缺失值时,TRIM函数返回一个单独的空格,而TRIMN则返回一个长度为0的字符串。当你使用连接符号连接字符串时,这两个函数都是有用的。下面程序会演示:

程序15

1
2
3
4
5
6
7
8
9
10
11
data _null_;
length Concat $ 8;
One = ' ABC ';
Two = 'XYZ';
One_two = ':' || One || Two || ':';
Trim = ':' || trimn(One) || Two || ':';
Strip = ':' || strip(One) || strip(Two) || ':';
Concat = cats(':',One,Two,':');
put one_two= / Trim= / Strip= /
Concat=;
run;

图15:程序15输出结果

One_two=:   ABC   XYZ:

Trim=:   ABCXYZ:

Strip=:ABCXYZ:

Concat=:ABCXYZ:

当你不使用任何一个函数连接两个字符串时,你能看到结果都保留空格。注意,变量Trim值中的’ABC’和’XYZ’之间没有空格,而Strip变量则没有任何空格。最后你会发现使用CATS函数可以更轻松的去掉前面和后缀的空格,然后连接字符串。

NOTALPHA,NOTDIGIT和 NOTALNUM函数

         我仅仅列出了三个“not”函数,如果你查SAS在线文档或文后列的参考文章,你会发现这样的函数还有更多。当遇到字符串中的不是alpha(字母),digit(数字),或alphameric(字母或数字)时,每个函数返回第一个遇到位置。由于所有的“not”函数会搜索字符串的每一个位置,包括后面的空格,因此你首先需要使用strip或trim去掉它们。

         这类函数的第二个语句是可选的,用于设置你要开始搜索的起始位置。如果你输入一个负值,那么搜索将从这个值的绝对位置处,从右往左执行。如果函数没有找到对应的字符,就返回0。

         这类函数对于字符型数据清理来说是强大无比的。你可以对一个字符值定义一个规则, 让其仅仅包含数字或者字符等等。下面是一个例子:

程序16

1
2
3
4
5
6
7
8
9
10
11
data data_cleaning;
input String $20.;
Not_alpha = notalpha(strip(String));
Not_digit = notdigit(strip(String));
Not_alnum = notalnum(strip(String));
datalines;
abcdefg
1234567
abc123
1234abcd
;

图16:程序16的输出结果

              Not_     Not_     Not_

  String     alpha    digit    alnum

 abcdefg       0        1        0

 1234567       1        0        0

 abc123        4        1        0

 1234abcd      1        5        0

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

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


9月 012012
 


下面是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,你已经知道函数TRIM),你应该使用带“n”的新函数。     看一下下面的程序:

 程序1

1
2
3
4
5
6
7
8
9
10
 data chars1;
length String $ 7;
String = 'abc';
Storage_length = Lengthc(string);
Length = lengthn(String);
Display = ":" || String || ":";
put Storage_length= /
Length= /
Display=;
run;

图1:程序1的结果

Storage_length=7
Length=3
Display=:abc    :

 记住,SAS字符变量的存储长度在编译阶段被设置。因为LENGTH语句在字符设置语句之前,SAS为字符串设置了长度为7。因为字符串长度为3,LENGTHN函数没有计算字符后面的空格,于是返回3。最后,在字符串的两边各加一个冒号,这样就清楚的看到字符串后面包含了四个空格。http://saslist.net

如果你把LENGTH语句往后面移一步,像下面:

程序2

1
2
3
4
5
6
7
8
9
10
data chars2;
String = 'abc';
length String $ 7;
Storage_length = lengthc(String);
Length = lengthn(String);
Display = ":" || String || ":";
put Storage_length= /
Length= /
Display=;
run;

你将得到下面结果:

图2:程序2的结果

Storage_length=3

Length=3

Display=:abc:

        注意到上面结果中,LENGTH语句被忽略了。因为Sting = “abc”出现在LENGTH语句之前,字符串的长度已经被设置。根据经验,运行PROC CONTENTS来查看所有数据集,检查所有字符变量的存储长度。如果你看到有些字符串的长度达到200,你不用吃惊,因为很多SAS字符函数的默认长度就是200,也就是说如果你没有显示的用LENGTH语句或其他方式定义变量长度的话,SAS就会默认字符串长度为200。

缺失值函数和CALL MISS例程

 在过去,你可以像下面这样检查一个数据步中的缺失值:

 *老方法 ;

if Age = . then . . .

If Char = ‘ ‘ then . . .

*新方法 ;

if missing(Age) then . . .

if missing(Char) then . . .

     这个missing函数的新语句可以确认数值变量和字符变量是否为空 ,如果是空,则返回1,否则返回0。我个人非常推荐你在任何需要测试一个变量是否为空的程序中使用这个函数。这样你会发现你的程序更漂亮。

      如果你需要设置一个或多个字符或数字变量为空值,你可以使用下面的老方法,比如:

1
2
3
4
5
6
7
8
9
 array x[10] x1-x10;
array chars[5] a b c;
do i = 1 to 10;
x[i] = .;
end;
do I = 1 to 3;
chars[i] = ' ';
end;
drop i;

或者你也可以使用像下面这样的call missing历程,以便节约更多的时间。

 call missing(of x1-x10, a b c);

INPUT函数

      这是我学习SAS(多年前)是遇到理解困难的函数之一。一个简单的方法就是思考INPUT函数,问自己“INPUT语句是干什么的?”,它通常从按照预先提供的INFORMAT格式从一个文件中读取文本。同样,INPUT函数做类似的工作,它根据函数提供的第二个语句INFORMAT,读取函数提供的第一个语句中的文本。也许下面的程序可以跟直观的帮助理解。

程序3

1
2
3
4
5
6
7
data _null_;
c_date = "9/15/2004";
c_num = "123";
Sas_Date = input(c_date,mmddyy10.);
Number = input(c_num,10.);
put SAS_Date= Number=;
run;

                程序3中有两个字符变量c_date和c_num。使用INPUT函数,你可以根据第一个语句的值新建一个真实的SAS数据(数值型),根据第二个语句将字符转化为数值。注意,c_num的读入格式是10.。和从文件中读入文本不同的是,INFORMAT不能读完字符值。运行这段代码,SAS_Date和Number的值显示如下: http://saslist.net

图3:程序3的结果

 Sas_Date=16329 Number=123

PUT函数

          PUT函数是与INPUT函数对应的函数。同样,你可以考虑PUT语句的作用——读取一个SAS值(字符或数值型),应用输出格式FORMAT,并通常写出到一个文件的结果中。PUT函数获取第一个语句的SAS值,并且按照第二个语句的格式写出到结果中。PUT函数的用途之一就是将数值型转化为字符型,另外一个用途就是使用用户自定义格式建立一个新变量。下面是一个例子:

程序4

1
2
3
4
5
6
7
8
9
data _null_;
SAS_Date = 1;
Number = 1234;
SS_num = 123456789;
Char_Date = put(SAS_Date,mmddyy10.);
Money = put(Number,dollar8.2);
SS_char = put(SS_num,ssn.);
put Char_date= Money= SS_char=;
run;

 这个例子使用了三个数值(分别是SAS日期,一个数和一个社会安全号),并且新建了三个字符型变量。运行这段代码后,字符变量的值为:

图4,程序4的结果

Char_Date=01/02/1960

Money=$1234.00

SS_char=123-45-6789

     下一段程序告诉你使用一个格式将不同年龄组进行分类,这种方式在某种程度上比使用一系列的IF-THEN-ELSE语句更简单。下面是程序例子:

程序5

1
2
3
4
5
6
7
8
9
10
11
12
13
proc format;
value agegrp 0-20='0 to 20'
21-40='21 to 40'
41-high='41+';
run;
data PutEx;
input Age @@;
AgeGroup = put(Age,agegrp.);
datalines;
15 25 60
;
proc print;
run;

               新变量AgeGroup是一个使用了格式化的Age值的字符变量。新变量的存储长度是与格式化值最大长度是一致的。下面,你可以看看变量Age和AgeGroup的值。

 图5:程序5的结果

Age    AgeGroup

 15    0 to 20

 25    21 to 40

 60    41+

FIND和FINDC函数

          FIND函数使用第一个语句定义的字符串,查找有第二个语句定义的子字符串,如果子字符串找到,函数返回它的位置。如果没有找到,则返回0。FIND函数中有两个可选的语句——修饰符和起始位置。最常用的修饰符为“i”,表明忽略大小写。起始位置定义在开始搜索的位置,如果起始值为负数,则搜索开始于起始位置绝对值的位置,并且从右往左搜索。随便提一下,两个可选语句的位置可以颠倒。为什么这样也可以呢? 修饰符通常是字符值,而起始位置通常是数字值,哈哈,厉害吧!如果你仅仅输入了一个修饰符或起始位置值,放第三个语句位置即可。下面是一个例子。http://saslist.net

程序6

1
2
3
4
5
6
7
8
9
10
11
data locate;
input String $10.;
First = find(String,'xyz','i');
First_c = findc(String,'xyz','i');
/* i means ignore case */
datalines;
abczyx1xyz
1234567890
abcz1y2x39
XYZabcxyz
;

       这个例子中的两个函数使用修饰符“i”,使用了此修饰符,你可以省去改变一个或多个字符串大小写形式的麻烦。

图6:程序6的结果

String      First    First_c

abczyx1xyz      8         4

1234567890      0         0

abcz1y2x39      0         4

XYZabcxyz       1         1

    第一个观察值,子字符串‘xyz’在String的第八个位置才找到。因为FINDC函数在寻找字母“x”或“y”或“z”,在第一个观察值中返回一个4,因为字母‘z’在第四个位置找到了。注意但在观察值2中没有找到任何配对成功时,函数返回0。

COMPRESS函数

     这个当然是我最喜欢的SAS函数之一。据我所知,这是唯一从版本8升级到版本9的函数。这怎么可能呢?该函数写法在SAS8和SAS9中是一模一样的么?答案是“yes“,除了在版本9中增加了一个可选的第三项外。

在COMPRESS函数中的三个语句是:

Compress(String, characters-to-remove, optional-modifiers)

其中,Sting是你想要压缩的字符串(除非你使用‘k’修饰符)

characters-to-remove是你一列你想要从String中去掉的字符串。如果你仅仅给出了COMPRESS函数一个语句,那么就将除掉String中所有的空格。

可选修饰符允许你指定字符串子语句,例如:

  • a    大写 或小写字母
  •  d     数值(dignits)
  •  i     忽略大小写
  •  k     保留列表字符串,而不是去掉
  • s     空间(blank,tabs,if,cr)
  •  p     标点符号

         我相信修饰符‘k’让这个函数变得真正强大。‘k’选项告诉函数所需要保留的字符列表。设定你需要保留的通常要优于你想去掉的。比如说,如果你使用两个修饰符‘k’和‘d’,函数将会保留字符串中所有数字,丢掉其他东西。这个在你的字符串中包含不可打印的字符串非常有用。下面是一个例子:

程序7

1
2
3
4
5
6
7
8
9
data phone;
input Phone $15.;
Phone1 = compress(Phone);
Phone2 = compress(Phone,'(-) ');
Phone3 = compress(Phone,,'kd');
datalines;
(908)235-4490
(201) 555-77 99
;

        COMPRESS函数将除掉Phone1中的所有空格,因为你仅仅使用了一个语句。对于Phone2,你指定了左右括号,破折号和空格。对于Phone3,你指定了两个修饰符‘k’和‘d’。注意两个冒号,这个非常有必要,可以告诉SAS‘kd’是修饰符(第三个语句),而不是需要除掉的字符(第二个语句)。注意下面结果中,Phone2和Phone3是同样的结果,然而在Phone中有多余的符号字符。

图7:程序7的结果

      Phone            Phone1          Phone2        Phone3

 (908)235-4490      (908)235-4490    9082354490    9082354490

 (201) 555-77 99    (201)555-7799    2015557799    2015557799

       这里有另外一个非常有用的例子,将演示COMPRESS函数能够用于从包括像包含单位的非数字字符串中提取数值。看下面:

程序8

1
2
3
4
5
6
7
8
9
10
data Units;
input @1 Wt $10.;
Wt_Lbs =
input(compress(Wt,,'kd'),8.);
if findc(Wt,'K','i') then
Wt_Lbs = 2.2*Wt_Lbs;
datalines;
155lbs
90Kgs.
;

       你看输入数据中包括像lbs.或kgs.的单位。这是非常的问题。使用COMPRESS函数可以得到一个非常简单和漂亮的方法。你开始可以仅保留原始值中的数值,然后使用INPUT函数把字符转化成数值。现在你需要判定,是否原始值中包括一个大写或小写的‘k’。如果是,你需要把公斤单位转化成英镑。带修饰符‘i’的FINDC函数可以轻而易举的完成这个判断。http://saslist.net

图8:程序8的结果

   Wt      Wt_Lbs

 155lbs      155

 90Kgs.      198

待续系列:      SAS函数精选二        SAS函数精选三

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

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


3月 162012
 


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招聘 地点:武汉 武昌 光谷环境不错。//@有个刘师傅: 招聘统计分析师,使用SAS软件从事统计建模、市场预测、优化和新方法开发等工作。工作地点:武汉光谷,邻近华科。要求:统计学、计量经济学、应用数学、经济学硕士及以上学历,CET6,优先考虑有相关工作经验的申请者。有意者请私信。恳请各位大牛帮转发。@小蚊子乐园 @sxlion @lijian001 @SAS中文论坛 [02/24/2012 14:23:39]
  3. 春天来啦 SAS职位招聘//@SAS中文论坛: #微招聘#SAS合作伙伴招聘初级业务分析顾问。数学,或者数学功底好的其他理工科,本科及以上学历;具有优秀的语言沟通能力、团队合作精神;具有良好的沟通和较强的团队合作意识,能够很快适应工作;有数学建模经验佳。更多详情,请访问 http://t.cn/zOyXDlo 请指明SAS中文论坛。 [02/21/2012 14:26:07]
  4. 本期SAS程序员招聘2 地点上海静安 英德咨询 公司 ps:年过完了,招聘好热啊。//@文彤老师: #招聘# INTAGE招聘SAS程序员一名,要求:统计学、数学或统计学相关专业,本科以上学历; 熟悉SAS系统,能熟练应用SAS/Base编写数据处理程序,有SAS宏、Proc SQL实际应用经验者优先。有网络购物数据库建设、维护经验者优先。详见 http://t.cn/zOzEtMK 有意者也可私信我联系  [02/08/2012 16:15:09]
  5. 代朋友转发信息,SAS程序员招聘一则, 合资银行,地点 上海浦东 待遇详谈 直接与 @clay_lu 私信联系。//@clay_lu: #招聘#某股份制银行信用卡中心,招聘数据分析师,精通使用SAS和SQL等工具进行数据分析和处理,为人正直,善于沟通,熟悉银行业务者尤佳。有意者可私信我。 [02/08/2012 13:04:31]
  6. 本期SAS招聘3://@hssnow311: //@波波头一头: 数据 sas 模型 工作机会//@苍茫的海-孙哲: #微招聘#股份制商业银行信用卡部门招聘分析师,工作地点在上海,负责(1)基于SAS平台的预测模型开发及客户细分;(2)以NPV为基础框架的客户价值预测体系建设;(3)以数据驱动为基本形式的数据库营销及客户定制化产品策略开发。提供(1)基础的数据分析集市和发展平台;(2)具备竞争力的收入回报。 [02/14/2012 22:56:50]
  7. 回复@郭宾op0646: 直接投简历到邮箱即可: john-wu@weelite.cn //@郭宾op0646:你好,请问,怎么投简历,智联招聘?还是网申?//@sxlion: 精鼎(跨国CRO)诚聘生物统计师数名 SAS Programmer数名 工作地点:北京、上海 科文斯(跨国CRO)诚聘首席统计师 诚聘SAS Programmer数名 工作地点:北京 [02/21/2012 10:31:03]
  8. 继续招聘 , SAS程序员,你们准备好跳槽了么 ? //@SAS杨旭: 学好SAS还是很有用的。 //@杨滔_机器学习:数据科学家一天不写代码就会退步。今天你R了没?//@北大光华_王汉生: 诚聘英才:有木有统计专业、计算数学专业的高手,有志于文本挖掘、电子商务类的数据分析的童鞋。希望获得博士后机会、企业实习+正式岗位的,可以私信我了。要求R高手,最好R高手,C高手,SAS高手,什么都是高手,具有丰富的数据分析经验:-) [02/08/2012 16:21:20]
  9. SAS招聘 搞生物统计的SASor们!//@来邦网生物人才微博平台: 【高级项目经理,华大基因】生物物理学/生物信息学/生物统计学等专业博士;熟悉Matlab,R,或者SAS程序,有多元数据挖掘经验; 在生物计算或相关领域的重要科学刊物上有过发表经验; 具备癌症生物学途径综合知识及经验者优先;英语流利。huada-hr@genomics.org.cn [02/17/2012 12:08:53]
  10. SAS公司2012招聘 工作地点:北京 职位类别:咨询/顾问 客户服务/售前/售后支持 发布日期:2012-02-02 工作经验:2年以上 最低学历:本科 招聘人数:若干//@明河2200: JD。 SAS中國公司直招。http://t.cn/zOh4nl7//@明河2200: 全能的微博啊,請問有沒有人想在北京做Sas技術支持,幫朋友做個廣告。遲點再貼個JD。 [02/02/2012 20:00:11]
  11. //@中国统计网: #数据分析职位#: 转给找/换 工作的朋友,希望能帮得上!//@猎头-数据分析: #数据分析顾问# (北京)。职责:参与BI咨询项目,提供专业分析报告;基于海量数据建立挖掘模型,挖掘潜在用户信息。要求:1统计、数学、计算机相关专业硕士;2、两年以上电信、金融、互联网数据挖掘或数据分析经历;3熟练使用SAS等工具,熟悉Office,PPT能力好;4数据敏感度高。有意发:hr@itongji.cn  [02/07/2012 21:00:02]
  12. SAS招聘哈//@刘思喆: 上海电信行业数据分析职位,来自于@统计之都 要求掌握至少一门适合数学建模的编程语言,如matlab, R语言, python(熟悉Scipy等计算库),熟练使用分析工具SPSS,SAS者尤佳。 详情请见 http://t.cn/zOqwYqc [02/29/2012 20:41:02]
  13. SASor职位招聘 上海张江 IT外企 //@IT-Consultant: 上海张江一家著名IT外资公司急聘SAS ,SPSS 人才 3到7年工作经验 4个空缺 另外北京一家著名外资IT公司急聘SPSS及date warehouse 方面的Leader,薪水可谈,有兴趣请私聊我 – 原文地址:http://t.cn/zOGaoPp [02/28/2012 17:43:51]

数据挖掘比赛和会议

  1. //@tianwild: 转发微博//@ResysChina: 今年的KDD Cup,完全被腾讯hold住了!Task 1. Social Network Mining on Microblogs (Weibo);Task 2. User Click Modeling based on Search Engine Log Data。两道题目均来自于腾讯公司。有兴趣的朋友,可以一起试试。http://t.cn/z0DzFOC [02/22/2012 22:08:47]
  2. //@datathinking: //@沈浩老师:转发,这个题目不错,有提供数据!//@vinW: kdd是数据挖掘界最顶级的学术会议。今年在北京召开。每年KDD有个KDD CUP的数据挖掘竞赛。今年的题目之一是分析腾讯微博的匿名数据,判断这些匿名用户之间的关注关系!//@SIGKDD2012: KDD CUP是ACM SIGKDD 组织的有关数据挖掘和知识发现领域的年度赛事。作为KDD年会的重要组成部分,自1997年以来已经连续举办了15届,目前是数据挖掘领域最有影响力的赛事。 通常每年在KDD会议网站上会公布当年的KDD CUP主题及各个子任务、数据集、考核指标等… (具体见附图)  [02/07/2012 21:40:02]

SAS资讯

  1. JMP版本10即将于3月20日正式发布,JMP 10至少在如下方面有了显著的增强: 1. 图形生成器; 2. 数据筛选器; 3.列切换 4. 控制图生成器; 5. 可靠性预测平台; 6.可靠性增长平台 7. 测量系统分析平台; 8. 非线性分析平台; 9.偏最小二乘平台 10.定制试验设计平台; [02/22/2012 15:07:21]
  2. //@刘政-SAS: SAS有一个Enterprise Data Integration Server可以集成几乎所有的数据源, 包括SAS datasets,主流和开源数据库,普通文件,XML和非关系数据库源。 //@崔维力77:请教,sas分析对数据库的性能要求很高吗?//@甲骨文中国: #创新甲骨文#甲骨文日前宣布推出Oracle Advanced Analytics,Oracle数据库11g的新选件,可将Oracle R Enterprise与Oracle数据挖掘绑定。与Oracle大数据机, Oracle Exadata数据库云服务器和 Oracle Exalytics 商务智能云服务器相结合,提供业界最集成的大数据分析平台。详情请见:http://t.cn/zOGsNMd [03/02/2012 23:50:20]
  3. 原来DataFlux 是SAS的一个分公司,那dataflux是SAS一个模块,还是单独的一个工具软件 ? //@刘政-SAS:听说过SAS的Dataflux吗?那是全世界最好的清洗工具(Gartner) //@飞胖:只是接口而已,运行的效率与Sas本身没太大关系。做大数据的清洗,其实sas本身不给力的,sas强大在统计模块。//@甲骨文中国: #创新甲骨文#甲骨文日前宣布推出Oracle Advanced Analytics,Oracle数据库11g的新选件,可将Oracle R Enterprise与Oracle数据挖掘绑定。与Oracle大数据机, Oracle Exadata数据库云服务器和 Oracle Exalytics 商务智能云服务器相结合,提供业界最集成的大数据分析平台。详情请见:http://t.cn/zOGsNMd [03/02/2012 23:47:25]
  4. 看到SAS没有? //@anlinew: 根据Gartner对IT管理人员的年度调查显示,分析和商业智能将是今年CIO最优先考虑技术。 2011年第四季度,Gartner公司对全球2335名首席信息官关于2012年业务和应优先考虑的技术事项进行了调查,这些首席信息官掌控着45个国家3210亿美元的IT开支。往年的预测如图   [02/02/2012 08:02:45]
  5. //@tianwild: 个人认为Online Tutor是最好的SAS学习资料//@SAS中文论坛: 找到免费SAS Online Tutor。这是考SAS认证的正规教程,看完后必定能够顺利通过SAS认证考试。SAS考证的利器啊,不敢独占,马上与大家分享。指不定那天就没了,要看要考要转的可要乘早啊。http://t.cn/SM75RP  [02/02/2012 20:48:32]
  6. //@刘政-SAS: 回复@国安大飞:在处理海量数据的能力和速度方面,SAS明显超越所有竞争对手。 //@国安大飞:如果用一句话诠释,SAS和IBM SPSS的区别?您会用那句话来陈述?//@刘政-SAS: 大数据时代就是朝着数据驱动型的发现和决策的方向发生转变。决策的快慢影响成败。如同雷达探测150公里的战斗机遇见了雷达探测300公里的战斗机。你是花钱买性能好但贵的战斗机还是那架便宜的战斗机呢?武无第二就是这个道理。当年Oracle也是凭借贵的数据库打败了便宜的Sybase。 [02/15/2012 18:04:59]
  7. //@刘政-SAS: 在SAS的业务分析8个级别中,我们把时间序列这种方法叫forecasting,以区别于较复杂的predictive modeling方法。简单地理解就是forecasting是对一个特定的情况做预测;predictive modeling是一个model可以用到很多不同的情况,像代数学公式。//@瑞尼尔技术有限公司: @刘政-SAS:【何为预测模型】预测模型是试图通过数据组中的已知变量值来预测数据组里未知变量值找到好的规则或模型。模型找到后,可以使用到别的数据组,即使没有我们前面预测的变量。在时间序列里,一个变量被重复观察多次,然后用过去的值预测将来的值。在预测模型方法中,预测变量可以是不一样的。  [02/08/2012 16:22:21]

数据挖掘相关资料

  1. //@SAS杨旭: @夫子子夫 圈子挖掘算法。 //@张俊林say://@张某_ICT: 这是目前我试过的,最容易操作,挖掘效果最好的算法//@张某_ICT: 用心去思考 » 微博社交圈子挖掘的一种有趣的思路 http://t.cn/zO5zINX 这个比较有意思,效果不错,推荐@知众网络_曾庆锐 @张俊林say @贺志明_ICT [03/02/2012 19:41:50]
  2. //@SAS杨旭: 收藏,图很酷。//@骆逸: 对Peter Norvig大佬所说的“数据量比模型/算法更有效”的说法也不能迷信。深入理解领域特征并构建有效的模型往往比玩数据、玩算法能够更好的解决问题。Why Generic Machine Learning Fails http://t.cn/zOyXL6a  [02/27/2012 19:53:34]
  3. //@沈浩老师: 已经到了文本挖掘了!//@张博researcher: 文本分析技术是用的技术包括:数据库/模式识别/云计算/分类聚类器,可能用到算法包括最大熵,隐马可夫,贝叶斯,K近邻,决策树,汉明/闵可夫斯基/黎曼空间距离等等用好这门技术,保证你能获诺贝尔奖,没有20年以上积累很难说真的用好了文本分析//@方舟子: “就目前来看,方舟子和张放等人的质疑,使用的就是文本分析的方法。他们的质疑确实没有超出学术争鸣的范围。要证明自己的清白,韩寒就必须明确回答以上三个疑问,而不是晒手稿,或者家书。”这篇科普了什么叫文本分析:蔓陀影评《什么是文本分析•论韩寒代笔事件》http://t.cn/zOzA3rA [02/08/2012 16:21:58]
  4. //@刘政-SAS: 回复@青原的天空:forecasting通常是指时间序列;predictive model通常是数据挖掘可以做。 //@青原的天空:预报和预测建模有什么区别?//@刘政-SAS: 商业分析能力的八个级别:1. 常规报表STANDARD REPORTS 2. 即席查询AD HOC REPORTS 3. 多维分析OLAP 4. 警报ALERTS 5. 统计分析STATISTICAL ANALYSIS 6. 预报FORECASTING 7. 预测型建模PREDICTIVE MODELING 8. 优化OPTIMIZATION [02/07/2012 21:08:16]
  5. //@沈浩老师: 推荐 //@谢顿在上:只拍了投影,老师写的字、画的图都看不到[泪]//@网易公开课: 统计学的童鞋看过来!统计学的许多原理已经运用到了各行各业的复杂工作中,想知道这些原理是如何运用到医学和生物学领域的?快来看加州大学伯克利分校的公共健康-数据统计分析课程吧~今日更新13-14课http://t.cn/zOh03Wz  [02/03/2012 21:06:30

信息丰富的漂亮图表欣赏

  1. 好厉害啊,都玩出花样来了。 //@图表汇:刘老师的这个教程果然很“拉轰”,果断转了![赞]//@刘万祥ExcelPro: 为#用地图说话#补充了拉风到爆眼球的3D立体数据地图,已购书读者来收福利了啊,做法教程及范例下载:http://t.cn/zOLi7xE 视频:http://t.cn/zOLJFEG   [02/18/2012 22:51:32]
  2. //@商业分析-数据挖掘: 转发微博。//@网站分析公会: 用户对在线隐私的担忧  [02/16/2012 20:48:08]
  3. //@刘万祥ExcelPro: 社会网络可视化案例//@琢磨先生: 姚晨就是个小太阳!//@秋叶语录:当时我就震惊了!这就是大数据之美!这就是壮观的小宇宙爆发!这就是星矢的天马流星拳!//@社会网络与数据挖掘: 分析来自@秋叶语录 的方韩大战微博的转发情况http://weibo.com/1280110097/y3l4vu0x0 感觉像不像星战?几大军团的所裹挟的男女比例迥然不同哦(粉色:女;蓝色:男),@姚晨 女王的2409次二次转发大多来自于女性,@闾丘露薇 亦然;@薛蛮子 转发3次组成三个军团,@黄健翔 的转发支持以纯爷们为主 [02/16/2012 13:06:18]
  4. 转发微博//@199IT-互联网数据中心: 【富可敌国 苹果已经严重影响标准普尔500指数】上季度标准普尔500指数同比增长6.6%,如果将苹果公司去掉,增长比率只有2.8%。苹果公司目前占有标准普尔500指数的3.8%。美孚石油占有标准普尔500指数的3.3%,微软占有1.9%,IBM占有1.85%。 [02/16/2012 11:39:20]
  5. 配色不错。//@199IT-互联网数据中心: 【全球50大社交网络品牌价值排行榜】//@199IT-互联网数据中心: 推荐【Sociagility:全球50大社交网络品牌价值排名】通过Popularity(流行度),Receptiveness(倾听度),Interaction(互动度),Network reach(网络到达),Trust(信任度)等这几个维度评估品牌的综合社交指数。根据Print指数,Google品牌第一,第二名为disney,第三是苹果。http://t.cn/zOAKurp   [02/14/2012 22:58:24]
  6. 图很漂亮 学习下 //@刘万祥ExcelPro: 回复@ExcelHome:应该不是,但excel应该也可以做,把面积图拍照后旋转一下嘛 //@ExcelHome:回复@ExcelHome:@刘万祥ExcelPro//@人类已经无法阻止HR了: 向@ExcelHome 求助:这种图叫什么图?如何做的呢?有谁知道的请指教一下。关键词:EXCEL [02/29/2012 21:16:25]
  7. 阿基米德螺线 风情万种 附故事一则 http://t.cn/aFuARV @数学文化  [02/03/2012 12:26:30]
  8. 笛卡尔曲线 情人节快到了,你们懂的。 @数学文化 附故事一则:http://t.cn/zOhSDt1 另附各种心形曲线 http://t.cn/zOhSDtB Hearts  [02/03/2012 12:09:07]
  9. 精美曲线 收集一个,谢谢。//@演绎生动Excel图表: 【#信息可视化V# 凶器VS数学VS图表】这是图表,也是一个函数公式,一个[威武]的可视化,数据科学家们来确认一下,这个函数是真是假 @小蚊子乐园 @数据化管理 @数据挖掘与数据分析 @郑来轶 @数据分析 @ETwise @数据元素  [02/03/2012 11:50:22]

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

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


2月 232012
 


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. KDD会议 邀稿通知 //@张磊IDMer: 转发微博//@SIGKDD2012: KDD-2012 Call for papers (industry and government track): http://t.cn/z0kYAaT [01/30/2012 17:21:14]
  3. 相关领域会议介绍 //@张磊IDMer: 转发微博//@SIGKDD2012: KDD CUP是ACM SIGKDD 组织的有关数据挖掘和知识发现领域的年度赛事。作为KDD年会的重要组成部分,自1997年以来已经连续举办了15届,目前是数据挖掘领域最有影响力的赛事。 通常每年在KDD会议网站上会公布当年的KDD CUP主题及各个子任务、数据集、考核指标等… (具体见附图)
     [01/30/2012 17:20:46]
  4. //@沈浩老师: 今年我们将在四月底举办“科学与艺术和谐统一”的网络科学论坛,会重点阐述幂律分布的社会现象! //@沈浩老师:转发,社会科学存在大量幂律现象! //@郭瑾V: //@徐小平:无//@胡舒立: 汪丁丁这篇关于网络幂律及小聚合的对话是12月发表的,惜乎没有引起太多的注意。许多人可能不同意他的看法,但这看法非常值得关注 http://t.cn/S6lATA [01/16/2012 00:26:52]
精彩SAS博文
  1. 本站 saslist.net 文章包括自己原创评论、网络资源整理、工作信息、书籍点评推荐、转载文章和外文翻译等等内容,下面对本站博文的内容分类和精选才是最真才实料的干货。//@sxlion: 盘点SAS资源资讯网 2012.1.17:2012农历新年马上就要到了,看着湖南卫视的小年夜春晚,不禁想着给自己的博客网站做个盘点,这个想法其实在大家年会的时候就想做了,趁奥尼尔还没出场,赶紧把这个盘点给整了,有些事现在不做,以 http://t.cn/z0eFlG5 [01/17/2012 23:50:12]
  2. 中南大学应届毕业生 hssnow @hssnow311 —— SAS实习达人的2011回顾录 一年之内在两家公司做SAS实习,并且成功签百度。http://t.cn/S6doOm [01/07/2012 10:00:06]
  3. SAS资源资讯博客精华汇总 2011 http://t.cn/z0esibC [01/31/2012 22:40:32]
  4.  SAS公司2012年1月公布的公司统计数据 http://t.cn/zOPIPNQ SAS公司统计数据 by 2012.01(翻译)1, 客户统计数据; 2, 雇员统计数据; 3,财务数据统计(全球收入);4, 其他统计数据 [01/31/2012 21:19:42]
本期微薄热点
  1. #SAS年度评点 2011年# http://t.cn/z0gCgd5 SAS离免费有多远 ?by sxlion from SAS资讯资讯列表 ps:一大早起来重新调整了下内容和明确了中心idea 。欢迎大家交流看法。  [01/15/2012 11:06:48]
  2. 2011年SAS资源资讯博客年度SAS语言点评 by @sxlion http://t.cn/z0gCgd5有数据,有料,图表支持哦,不是瞎掰。@SAS中国公司 @SAS北京研发 @SAS中文论坛 @真正的圈总 @文彤老师 @kuhasu @刘政-SAS @小蚊子乐园 @SAS杨旭 @刘思喆 [01/15/2012 02:22:44]
  3. 回复@明河2200: [good] SAS上次的官司没打赢, 果然是后患无穷啊! 虽然WPS价格只有SAS的十分之一,但是我还是不看好WPS。 carolina倒是第一次听说。//
  4. 威武 [威武] 好东西,可惜没有机会用过。 ps:微博真是个好东西! 可以直接与开发者交流。赞 ! //@SAS杨旭:顶!我们的SAS文本挖掘产品去年在亚太区销售额翻了六倍,这还不含新推出的社会化媒体分析的销售额,足见客户对SAS的认可。 //@刘政-SAS:请看我的评论:http://t.cn/zOPQrxx//@sxlion: 2011年SAS资源资讯博客年度SAS语言点评 by @sxlion http://t.cn/z0gCgd5有数据,有料,图表支持哦,不是瞎掰。@SAS中国公司 @SAS北京研发 @SAS中文论坛 @真正的圈总 @文彤老师 @kuhasu @刘政-SAS @小蚊子乐园 @SAS杨旭 @刘思喆 [02/01/2012 19:10:24]
  5. 非常感谢刘总的详细耐心的回复,作为一名SAS爱好者,倍感荣幸!同时转发给其他朋友一起拜读。@文彤老师 @kuhasu @SAS中文论坛 //@刘政-SAS:请看我的评论:http://t.cn/zOPQrxx //@sxlion:回复@刘政-SAS: 期待刘总的前沿信息。 //@刘政-SAS:现在较忙,我得找时间认真解释一下sxlion提出的问题。//@sxlion: 2011年SAS资源资讯博客年度SAS语言点评 by @sxlion http://t.cn/z0gCgd5有数据,有料,图表支持哦,不是瞎掰。@SAS中国公司 @SAS北京研发 @SAS中文论坛 @真正的圈总 @文彤老师 @kuhasu @刘政-SAS @小蚊子乐园 @SAS杨旭 @刘思喆 [02/01/2012 19:00:53]
  6. “SAS高速计算2011年12月投放市场,处理TB量的数据只要几分钟,而不是小时。处理存储在Teradata 或EMC Greenplum 数据库器件里的TB量的数据几乎达到时事处理(real time)的速度。这是目前SAS最powerful的成果。” 摘自@刘政-SAS http://t.cn/zOPQrxx 回复“SAS离免费有多远? by sxlion”。 [02/01/2012 19:41:13]
  7. 很有可能哦 ,不过Goodnight不会坐以待毙的。 //@真正的圈总:这个要看老一代分析员的退休速度。等到我这一代下岗以后,基本上SAS可以退居二线了。 //@sxlion://@sxlion: 2011年SAS资源资讯博客年度SAS语言点评 by @sxlion http://t.cn/z0gCgd5有数据,有料,图表支持哦,不是瞎掰。@SAS中国公司 @SAS北京研发 @SAS中文论坛 @真正的圈总 @文彤老师 @kuhasu @刘政-SAS @小蚊子乐园 @SAS杨旭 @刘思喆 [01/16/2012 09:03:57]
  8. //@米兰逍遥: 一时半会SAS都不会变成第二,因为还没有一个软件在功能上超越SAS,而且在许多行业SAS依然是行业的标准语言。但早做打算,早点转型总是没错,至少SAS很多方面真的是不够灵活,至少自定义函数就很费劲//@sxlion: 2011年SAS资源资讯博客年度SAS语言点评 by @sxlion http://t.cn/z0gCgd5有数据,有料,图表支持哦,不是瞎掰。@SAS中国公司 @SAS北京研发 @SAS中文论坛 @真正的圈总 @文彤老师 @kuhasu @刘政-SAS @小蚊子乐园 @SAS杨旭 @刘思喆 [01/15/2012 22:02:02]
  9. 回复@明河2200: 嗯,这个是SAS公司的营业收入的理论模型。2011年的增长率为12%,说明SAS最近保持着“先入優勢, 技術領先和行業壟斷”。 //@明河2200:所以10%增長理論上不需要銷售增長已可達到, 是商務模式的結果, 而這個模式, 多少建立在先入優勢, 技術領先和行業壟斷上. 低於這個數就是倒退. @sxlion//@明河2200: 假設遠親留給我一家房地產公司, 這家公司蓋房出租, 從來不賣. 收入來源是 租金(Renew)+首年蓋房成本(First-year)+勞務費(Service), 比例大約是4:3:3吧. 每棟新樓的R是F的三分一. 我不敗家, 也沒興趣管理. 讓它自生自滅, 假設F和S都沒增長, 由於F的33%在第二年變成R, 年增長也有10%, 2位數. @sxlion [02/01/2012 21:57:31]
SAS公司相关资讯
  1. SAS书籍独立出版人Rick Aster 2005年出版的Professional SAS Programming Shortcuts – Over 1,000 Ways To Improve Your SAS Programs 正着手准备出新版, 现在在linkedin.com征集大家的评论、建议和要求。具体地址见:http://t.cn/z0e3Ukl [01/17/2012 17:49:30]
  2. //@SAS中文论坛: SAS公司[威武]//SAS虽失去冠军宝座,但仍是员工流失率最低的公司。作为私人控股的软件公司SAS在2011年榜单上勇夺冠军宝座,虽今年的座次上下滑2名,但SAS以全年仅2.22%的主动离职率成为“员//@财富中文网: #财富最适宜工作的公司排行榜# 【最新榜单发布,谷歌再次问鼎】财富中文网今天发布了《财富》2012年100家最适宜工作的公司排行榜。榜单三甲为:谷歌(1位)、波士顿咨询集团(2位)及私人控股软件公司SAS(3 位)。图为上榜公司前20名,点击http://t.cn/z0D8eIS 查看完整榜单。 [01/19/2012 20:37:10]
  3. 转发微博//@刘政-SAS: SAS高速计算2011年12月投放市场,处理TB量的数据只要几分钟,而不是小时。处理存储在Teradata 或EMC Greenplum 数据库器件里的TB量的数据几乎达到时事处理(real time)的速度。这是目前SAS最powerful的成果。 [01/17/2012 23:54:27]
  4. //@刘政-SAS: 数据分析时代来临了,大家要准备好,不要失去了这个机会。IT时代来临时没有跑在前头,这次可不要拉下。//@刘政-SAS: Gartner把分析和BI放在了CIO技术优先顺序的头条,最高级别的10条是: 1. 分析和BI (去年第排5),2. 移动技术 (去年第排3),3. 云计算,包括SaaS. (去年第排1),4. 协作/工作流技术 (去年第排8),5. 软件现代化, 6. IT管理. (去年第排4) ,7. CRM,8. ERP应用,9. 安全,10. 可视化 (去年第排2) 。 [01/20/2012 09:48:21]
  5. SAS公司和其他大牌公司google,facebook的福利对比。//@周伯通招聘: 【员工福利与奖励机制】公司应该如何留人?调查表明:雇主多数认为,高薪、保障、晋升和工作环境是员工的最主要需要。而事实上,员工往往更希望得到认可、关怀和帮助。图为SAS、Google、Facebook等名企为员工提供的福利,包括免费饮食、健康医疗服务、娱乐项目、灵活休假、家庭关爱等。你们公司有吗?
     [01/14/2012 23:01:39]
  6. 回复@真正的圈总: 估计是,虽然SAS现在的每年的盈利都在飚升,如果不紧跟时代潮流,终究成为历史。 这样的例子在IT界,数不胜数。 //@真正的圈总:我预测SAS的命运跟COBOL一样。 //@真正的圈总: 回复@sxlion:在商业财险这个有巨大应用潜力的地方,小规模,长尾,复杂分布数据是常态,需要能植入复杂模型的统计包,说实话,R完全占据优势。在个人保险这边数据太大,SAS还是能占据一段时间优势。 @sxlion:SAS的排名到哪里去了? 想当年也混进前20的语言啊//@刘思喆: 2012年1月编程语言排行榜:R语言第一次进入前20排名,这门在统计领域广泛使用的语言,其影响力越来越大。也许今年前10名的格局会有变化,会有R语言的一席?@刘江CE @统计之都 @数据挖掘与数据分析 http://t.cn/hthwf  [01/09/2012 16:20:23]
  7. 要想去SAS公司工作的同学,可以找 @刘政-SAS . SAS研发中心要招很多人的。 //@刘政-SAS:非常准确、全面。场记做得不错。//@铁围之大自在: @真假如来 应支持国外研发中心在国内投资 http://t.cn/SSUIL9 (分享自 @新浪财经) [01/13/2012 15:46:27]
  8. 好消息,大家可以奔走相告了 ! 等具体实施细则。 @SAS中文论坛//@SAS杨旭: 去年SAS校园行快有结果了,美国老板们原则上同意为国内院校提供免费SAS正版软件!我也算没白忙活一回。[呵呵] [01/13/2012 20:58:42]
  9. //@tianwild: 转发微博。//@SAS中文论坛: 养成SAS编程好习惯(1)1. 使用固定含义清楚的变量和表名命名规则。2. 尽可能用where语句或者where选项提高程序运行效率。3. 使用Length语句定义变量类型和长度。4. 如果不需要更新数据只是读取的话,尽量使用access=readonly选项。5. 在proc sort中尽可能使用out=选项。….. http://t.cn/S6x0QB
     [01/06/2012 09:18:23]
  10. [good] 这个可以有。//@SAS软件JMP事业部: JMP的研发团队正在加紧完成JMP新版本JMP10的研发工作。JMP10将首次率先推出能在IPad上运行的版本,这将进一步方便客户的移动办公和随时的数据分析。 [01/12/2012 08:35:02]
信息图表
  1. 信息丰富的图表 @NERV_陆叁叁//@SEM行业服务部: 通过Google Analytics得出的网站数据分析,全球网站数据指标的平均值,具有普遍性,帮助客户分析网站时,可以当做参考![威武]
    [02/01/2012 22:01:48]
  2. 这种风格的图我喜欢 简约不简单 //@小米公司: 除小米论坛外,微博是小米和米粉的重要交流沟通平台。 //@许景阳: 通过新浪微博成为全球增长最快的公司是谁呢? 快书包 小米公司 美丽说 蘑菇街//@陈永东: #微数据#【新浪微博荣登全球社会化媒体用户最快增速榜首】:据comScore的2011年12月数据,在2010年10月至2011年10月的一年时间里,新浪微博以181%的用户增速荣登全球社会化媒体用户最快增速榜首,第2名是Tumblr(172%),第3名是Badoo(64%),第4名是Twitter(59%),第5名是Linkedin(55%)。祝贺新浪微博! [01/18/2012 09:28:56]
  3. 叠加在一起的圆图,有意思 应该是按面积比来算的。//@199IT-互联网数据中心: 【美国电视媒介数据:电视仍然是第一屏】1、1/3的美国电视家庭拥有4台及以上的电视机;2、有2.9亿美国人拥有至少1台电视机,电视是最流行的媒介设备;3、2.88亿的人仍然通过电视收看视频内容,超过通过网络收看的1.43亿网络视频用户;4、广告主要追求全面的品牌覆盖,还得依靠电视
     [01/07/2012 21:20:39]
大数据相关资讯
  1. 转发微博//@张栋_机器学习: 这几天读了一些文章, 很多来自 Jeff 整理的 “计算机领域最佳论文集” http://t.cn/h4nrwN 一篇文章从最初的想法,编程实现,实验验证,数据分析,整理成 (逻辑清晰) 的文字,投稿,审稿,到最终发表,是一个艰辛的过程 … [01/25/2012 18:02:59]
  2. //@tianwild: //@真正的圈总:log是Box-Cox族变换的特例,John-Draper族又将BOX-COX族扩展到可以处理非正实数,最后他们都是Power族变化,专门处理非对称,长尾分布数据。 //@沈浩老师:Log常能把变态(偏态)变成常态(正态)!//@板栗小羊: 为什么有很多公式用到log,意义何在?刚才有个同事问到我,我也只想到几点,欢迎各位大牛拍砖 @张栋_机器学习 @clickstone @wentrue @finallyly @富士通研发于浩 @kingllon @李开复 @liangyongjiang @刘挺 @梁斌penny @任勇_东京大学 @Super_Jiju @_微博卢 @左耳朵耗子 [01/20/2012 16:40:53]
  3. //@SAS杨旭: 关注。 //@EMC中国研究院:谢谢分享//@彼岸花919:数据科学作为课程,有一个网站不错,推荐给大家:BigdataUniversity.com,专门讲Hadoop、流计算、数据管理技术等//@皮东chen : EMC已经在斯坦福和伯克利大学开始了数据科学的课程实践,现在正在考虑拓展到国内的高校!//@EMC中国研究院: 在大数据的背景下,数据科学如同一颗冉冉升起的太阳,开始夺人眼球并且令人兴奋。EMC最近发布了一篇题为:“Data Science Revealed: A Data-Driven Glimpse into the Burgeoning New Field”的文章,第一次试图定义数据科学以及如何培养数据科学人才,详细参见:http://t.cn/Sat9IE [01/19/2012 09:35:45]
  4. //@数据元素: 转完关机,数据爱好者们春节快乐!//@小蚊子乐园: #数据分析#一项对数据科学家(数据分析师)的研究,数据科学家是一个好职业!需求已经超过了人才的供应,而且未来五年都会是这样。哪些人是数据学科从业者?他们需要什么技能?他们有什么特征?一张图表解释得清清楚楚。来源:http://t.cn/z0khzz6 @郑来轶@数据挖掘与数据分析@数据化管理@数据元素 [01/20/2012 09:45:29]
  5. //@张栋_机器学习: 不仅 2012 年的热点是 “Big Data”, 未来 5 年的热点都是 “Big Data”:机器学习在小规模数据集上,多数情况下没有意义,也没有影响力。正因为互联网产生了巨大的数据,才使机器学习的研究和应用焕发了生机 …//@bicloud: What are the hottest analytics / data mining areas in 2012? Please vote on www.kdnuggets.com @严强Justin @杨滔_机器学习 @张磊IDMer @张栋_机器学习 @刘铁岩 @刘逸哲 @城西小黄俞 @DataScientist @大规模机器学习 [01/09/2012 11:12:55]
  6. 转发微博//@商业分析-数据挖掘: HDFS 和MapReduce 共同组成了Hadoop 分布式系统体系结构的核心。HDFS 在MapReduce 任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS 的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了Hadoop 分布式集群的主要任务。 [01/06/2012 09:43:40]
  7. 转发微博//@AmyDeng_Fusionio: 1 BILLION IOPS …[吃惊]= 8 X HP DL 370 X 8 IOMEMORY 64KB block size http://t.cn/S6g6M1
     [01/07/2012 10:50:20]
数据分析相关
  1. //@沈浩老师: 忘了说明:还有PLS方法,如果偏向于预测和解释采用PLS(偏最小二乘法),如果偏向于比较和解释用SEM好些!没有最好,适用就好!//@沈浩老师: 顾客满意度研究主要方法:1)多元回归 2)主成份和相关分析 3)结构方程式模型SEM;满意度测量:1-总体满意度 2-与期望差异GAP 3-理想产品,忠诚度测量:1-重复购买 2-推荐购买 3-购买相关产品 4-提价购买;基本模型是ACSI及其变种!操作软件用AMOS @Miss要淡定 [01/11/2012 23:40:16]
  2. //@商业分析-数据挖掘: //@张栋_机器学习: Hadoop 机群中,”机器出现故障的次数” 也符合泊松分布 :-) //@数学文化: #概率论简史#另一概率代表人物是法国的泊松。有意思的是泊松是从法庭审判问题出发研究概率的,为确定陪审团在裁定罪行上的出错概率,他提出了描述随机现象的一种分布:泊松分布,并出版了《关于刑事案件和民事案件审判概率的研究》(1837年)。现在贪官很多,双规的人也多起来,进一步泊松分布有现实意义 [01/07/2012 16:06:33]
  3. //@wrchow-周巍然: //@杨滔_机器学习: 转发微博//@数学文化: #概率论简史#另个和马尔科夫一样在概率里随处可见的名字:英国牧师贝叶斯。传说棣莫弗是其家庭老师。当时的时尚,体面人物都和数学家通信,贝牧师也不例外,不过生前只发表过一篇数学论文。光芒万丈的贝叶斯定理是他去世后朋友整理发现的。两百多年后,贝叶斯方法席卷了概率论,并将应用延伸到众多领域
     [01/05/2012 13:37:05]
其他相关信息
  1. 转发微博//@真正的圈总: 学# 统计学#, 搞# 商业数据 #的,搞#SAS#的, 搞#R#的, 来晒晒你都看啥书 [01/08/2012 11:58:41]
  2. 岁末 #2011晒书单# 自从5岁上学前班开始,一直念书到30,看过无数书,但是很少因为兴趣而主动买的。晒图里是工作后买的书(都是网购,另有几本送的)。 虽然有些书可以网上看,不过看实体书感觉还是不错的,特别是现在网上买实体书非常便宜和方便。当然不是每本书都读完,也不是每本书都值得读。 [01/07/2012 21:15:08]
  3. 转发微博//@SAS杨旭: 介绍一个英语词频语料的网站:http://t.cn/Si8Iov,该网站使用COCA,有4亿多词,做文本挖掘的可以关注一下。 [01/04/2012 20:27:10]
  4. //@组合优化与图论: 非常有用的介绍 //@歌之忆: 不错!但个别说法还可以更简单些,如“is more than or equal to”可以直接说成“is not less than”。//@微笑的李子君://@清华史安斌 : 在国际学术会议上用英文作报告(尤其是讲解模式和图表时)尤其有用//@微博小百科: 为什么从来没有人很系统地教我们,英文标点符号怎么念呢? [01/31/2012 18:52:13]

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

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