我对sas的认识和学习心得:
宏还是哄?我没有耐心也无法专心致志地去阅读他人的代码,尤其是看起来很乱其实更乱的宏程序。说白了,我不理解诸始作俑者的意图。为了某个微不足道的目的,炮制出一遍免检的sas文章来,即在Google的目录上,堆出令人痛恨的文字垃圾来。我也想不通宏究竟会解析成什么样子,还有宏的quoting。。。在我的认识里,宏就是程序的简写或者是不坏好意的隐蔽。好像以前有人写朦胧诗(北岛算一个,还有用斧头劈妻子的顾城),第一遍是正常的句子,然后掐头去尾。只留下‘汪’来代表‘汪汪’,最后真相大白,就是犬也。
何谓效率?低成本高产出。我本人不在乎程序的效率,第一反正是自己用。好坏烂在俺自己的锅里。如果运行时间长,巴不得有时间喝杯茶呢。第二,对于一个应用者来说,最昂贵的总是人力成本。尤其是绝大数的程序实在没有推广之必要。效率只在重复之中才有意义。在我眼里,在一个诚实敢言的草头兵的眼里,比较sql和data step之优劣纯是吃饱了撑的。再者,I/o内存和cpu,本就是一锅粥,就不要瞎撇了。权衡再三,还是顾此失彼。
过程第一。许多人舍弃SAS的一些很好的封装的过程不用,转而用data step来自己编程以期得到某种满足和实现。很难理解。如果是搞统计的,为什么闲着没事儿不读读自由度是怎么回事,而把时间浪费在一行一行的无聊的程序上。SAS的短处是给你的自由度少,更何况我们这些可怜虫只是在观天的井里,费劲地开拓梦想里广阔的天空。这也是我下决心再把R捡起来的原因。R可以实现自己的想法,也不那么费劲。可SAS的好处是给你做好了美味佳肴,等着你去享用。我们却往往,沾着一双油乎乎的手,操起铲子,汗流浃背的抄起菜来。苦命啊。
Sas总是推陈出新。这两天在研究MCMC过程。真是一盘好菜,澄清了许多对bayesian算法的绝望。不是sas没有,是自己无知不晓得。概言之,如果是做统计的朋友们,如果还没有掉入坐井观天的泥淖,如果还有丝毫的抱负,就去试试如何用mean来求和,用freq来分类,用surveyselect来sampling,用import来读文件,用MI来插值,用reg来武装你的面试。。。
IML无法有效的推广,枉自辜负了挺美丽的名字。交互式。。。我认为算是SAS的一个败笔。本人为例。线性代数之向量和矩阵的运算草稿纸都用了不少,简单的算法也学过不少。仍然觉得难以适应它的程式。需要的时候,总要花一个礼拜去熟悉代码然后编出很好笑的东西来。为何?不知道。反正是很别扭。其实用R,只是一个简明的function而已。我尚且如此,就别提那些偏向文的流行病专业了。银行业的同志除外。或许除外。
我喜欢SAS,因为我可以用它来实现很多统计任务,很传统很正规。我不喜欢sas,因为一旦我偶然需要一些它所不提供或者不擅长的东西,便束手无策。如同对视一位鸡皮鹤发的老妪,浑没有一丝儿青春能动的朝气和色彩。由此我隐隐担忧,sas的繁荣或许只是表象,暗流不仅仅是来源于能动的R,还有她自身的根深蒂固的保守和八面玲珑的圆滑。怪不得象牙之塔里那帮爷还有孙子们不得意它。它和奔放的学术之流是相抵触的。
不要依赖SAS。在悍马卖给了天府的同胞的时候,我就长叹一声,十年一声(觉)扬州梦,全在妓女的琵琶里。学点理论吧。当然不是sas运行的理论,是统计0和1的理论(0和1?)在karl。Pearson的眼里,好像全是连续变量和四个参数。曾经有多少人期待着把class写到ph reg过程里啊。我就是其一。中间经过了一个很愚蠢的tphreg的过渡,然后就灰飞烟灭了。