编辑推荐

适读人群:SAS程序员

通过《TheLittleSASBook中文版》轻松入门SAS

经典,只会变得更加经典。《TheLittleSASBook中文版》是每一个学习SAS编程的人必不可少的一《The Little SAS Book 中文版》。洛拉·D.德尔维奇和苏珊·J.斯劳特提供了一种较为容易上手的方法,使得读者能够简单快速地学习SAS语言*常用的功能。每个主题都包含示例和图形。

第5版已经完全更新,用以反映SAS9.3引入的新的默认输出方式。此外,《TheLittleSASBook中文版》本版有一章专门介绍ODS绘图,包括SGPLOT过程和SGPANEL过程。其他变化包括扩大了基于语言学排序的覆盖范围,以及增加了一个新的小节专门介绍宏变量与文本串的连接。

每一位SAS程序员的书架上都应该有《TheLittleSASBook中文版》。它不仅仅能带你入门,更是你日后不断反复学习、巩固提升编程技巧的知识源泉。

内容简介

《TheLittleSASBook中文版》以大量实例、清晰简明的解释以及尽可能少的术语来介绍SAS语言,且大部分的功能均来自BaseSAS。BaseSAS包含了所有程序员所使用的核心功能。但也有例外,例如第9章包含了使用SAS/STAT模块的过程;此外还有第2章及第10章中,介绍从其他软件导入导出数据,其中一些方法要求使用SAS/ACCESSInterfacetoPCFiles。

我们努力介绍初学者可能需要的所有BaseSAS特性。有些读者可能会对某些主题的出现感到惊讶,例如宏,虽然宏通常被认为是高级技能,有时候新手同样需要用到,因此我们也做了介绍。但这并不是说您需要了解《The Little SAS Book 中文版》的全部内容,您仅需阅读能够解决您问题的部分章节即可。即便是从头到尾通读过此书,当碰到新的编程挑战时,您仍可能需要重启记忆,回来温习相关内容。

作者简介

洛拉·D.德尔维奇拥有超过25年的工作经验,她很乐意教别人SAS软件,而且也喜欢使用SAS解决具有挑战性的问题。她大部分职业生涯都是在加州大学戴维斯分校度过的,在此期间,使用SAS软件支撑她的教学和研究工作。

苏珊·J.斯劳特在25年前的研究生学习阶段中接触到了SAS软件。从那以后,她在各种商业和学术环境种使用SAS。目前在她自己的公司AvocetSolution担任顾问。

目录

目录

第1章SAS软件使用入门001

1.1SAS语言002

1.2SAS数据集004

1.3DATA步和PROC步006

1.4DATA步的内置循环007

1.5选择提交SAS程序的模式009

1.6SAS窗口环境下的窗口和命令011

1.7在SAS窗口环境中提交程序013

1.8阅读SAS日志016

1.9查看结果018

1.10SAS数据逻辑库020

1.11在VIEWTABLE窗口中查看数据集024

1.12用SAS资源管理器查看数据集属性026

1.13使用SAS系统选项028

第2章导入数据到SAS031

2.1导入数据到SAS的方法032

2.2使用VIEWTABLE窗口输入数据034

2.3使用导入向导读取文件036
2.4指定原始数据位置039
2.5读取空格分隔的原始数据042
2.6读取按列排列的原始数据044
2.7读取非标准格式的原始数据046
2.8常用输入格式049
2.9混合的输入样式051
2.10读取杂乱的原始数据053
2.11为每个观测读取多行原始数据055
2.12从每行原始数据读取多个观测058
2.13读取原始数据文件的一部分059
2.14在INFILE语句中使用选项控制输入061
2.15使用DATA步读取分隔文件064
2.16使用IMPORT过程读取分隔文件066
2.17使用IMPORT过程读取Excel文件069
2.18临时和永久SAS数据集071
2.19通过LIBNAME语句使用永久SAS数据集074
2.20通过直接引用使用永久SAS数据集076
2.21列出SAS数据集中的内容079
第3章使用数据083
3.1创建和重定义变量084
3.2使用SAS函数086
3.3常用SAS字符函数088
3.4常用SAS数值函数090
3.5使用IF-THEN语句092
3.6用IF-THEN/ELSE语句分组观测095
3.7提取数据的子集097
3.8使用SAS日期099
3.9常用日期输入格式、函数和输出格式102
3.10使用RETAIN语句与求和语句104
3.11利用数组简化程序106
3.12使用变量名列表的快捷方式108
第4章排序、打印和汇总数据113

4.1使用SAS过程114

4.2使用WHERE语句在过程中生成子集116

4.3使用PROCSORT对数据排序118

4.4更改字符数据的排序顺序120

4.5使用PROCPRINT打印数据123

4.6使用输出格式更改打印值的外观125

4.7可供选择的标准输出格式127

4.8使用PROCFORMAT创建自己的输出格式130

4.9编写简单的自定义报表132

4.10使用PROCMEANS汇总数据134

4.11将汇总统计量写入SAS数据集136

4.12使用PROCFREQ为数据计数139

4.13使用PROCTABULATE生成数据报表141

4.14将统计量添加到PROCTABULATE输出143

4.15美化PROCTABULATE输出145

4.16更改PROCTABULATE输出的表标题147

4.17为PROCTABULATE输出的数据单元格指定多种输出格式150

4.18使用PROCREPORT生成简单输出151

4.19在PROCREPORT中使用DEFINE语句153

4.20使用PROCREPORT创建汇总报表156

4.21在PROCREPORT输出中添加汇总分割158

4.22在PROCREPORT输出中添加统计量160

4.23在PROCREPORT输出中添加计算变量162

4.24在过程步中使用用户自定义输出格式分组数据165

第5章使用输出交付系统(ODS)增强输出169

5.1初识输出交付系统170

5.2追踪和选择过程步输出结果172

5.3从过程步输出中创建SAS数据集174

5.4创建文本输出177

5.5创建HTML输出179

5.6创建RTF输出181

5.7创建PDF输出184

5.8自定义标题和脚注186

5.9通过“STYLE=”选项自定义PRINT过程输出188

5.10通过“STYLE=”选项自定义REPORT过程输出190

5.11通过“STYLE=”选项自定义TABULATE过程输出192

5.12在输出中添加信号灯效果195

5.13样式属性列表197

第6章修改和合并数据201

6.1使用SET语句修改数据集202

6.2使用SET语句堆叠数据集204

6.3使用SET语句交错连接数据集206

6.4使用一对一匹配合并数据集208

6.5使用一对多匹配合并数据集211

6.6合并汇总统计量和原始数据213

6.7合并总计与原始数据215

6.8通过事务更新主数据集217

6.9使用OUTPUT语句输出多个数据集219

6.10使用OUTPUT语句将一条观测变为多条观测222

6.11使用SAS数据集选项224

6.12使用“IN=”选项追踪和选择观测226

6.13使用“WHERE=”选项选择观测228

6.14使用PROCTRANSPOSE将观测转置为变量231

6.15使用SAS自动变量233

第7章使用SAS宏编写灵活的代码237

7.1宏概述238

7.2用宏变量替换文本239

7.3拼接宏变量与其他文本242

7.4使用宏创建模块代码244

7.5向宏添加参数246

7.6编写带条件逻辑的宏248

7.7使用CALLSYMPUT编写数据驱动程序251

7.8调试宏错误253

第8章可视化数据257

8.1ODS图形概述258

8.2绘制条形图260

8.3绘制直方图和密度曲线262

8.4绘制盒形图264

8.5绘制散点图266

8.6绘制序列图268

8.7绘制拟合曲线270

8.8控制坐标轴和参考线272

8.9控制图例和插入项274

8.10自定义图形属性276

8.11绘制面板图形279

8.12指定图像属性和保存图形输出281

第9章基本统计过程的使用方法285

9.1使用PROCUNIVARIATE检验数据的分布286

9.2使用PROCUNIVARIATE创建统计图形288

9.3使用PROCMEANS生成统计量290

9.4使用PROCTTEST检验样本均值292

9.5使用PROCTTEST绘制统计图形294

9.6使用PROCFREQ检验分类数据297

9.7使用PROCFREQ创建统计图形299

9.8使用PROCCORR检验数据的相关性301

9.9使用PROCCORR创建统计图形303

9.10使用PROCREG进行简单回归分析305

9.11使用PROCREG创建统计图形308

9.12使用PROCANOVA进行单因素方差分析310

9.13理解PROCANOVA的输出313

第10章导出数据317

10.1数据导出方法318

10.2使用导出向导生成文件319

10.3使用EXPORT过程导出带分隔符的文件322

10.4使用EXPORT过程导出MicrosoftExcel文件324

10.5使用DATA步导出原始数据文件326

10.6使用ODS生成带分隔符的文件和HTML文件329

第11章调试SAS程序333

11.1编写有效的SAS程序334

11.2修复无效程序336

11.3查找缺失的分号338

11.4提示:INPUT语句到达一行的末尾341

11.5提示:LOSTCARD343

11.6提示:无效的数据345

11.7提示:生成缺失值347

11.8提示:数值已转换为字符(或反之)349

11.9DATA步产生错误结果而没有错误消息352

11.10错误:选项无效、选项无法识别、语句无效354

11.11提示:变量未初始化/错误:变量未找到357

11.12SAS截断字符型变量359

11.13SAS在程序的中间停止361

11.14SAS耗尽内存或磁盘空间363

附录从SQL到SAS367

精彩书摘

  SASStudio、SASUniversityEdition及SASOnDemandforAcademics

  您可以在多个界面下使用SAS。《The Little SAS Book 中文版》初印之时,SASWindows环境(有时称为“显示管理器”)和SASEnterpriseGuide是两个主要的界面。如今SASStudio已是SAS的一个重要新界面。我们为使用SASStudio的读者撰写了一份《The Little SAS Book 中文版》的网上补充说明以备您之需要。

  SASStudio已包含在BaseSAS的许可中,它是SASUniversityEdition的界面,也是SASOnDemandforAcademics的默认界面。SASUniversityEdition和SASOnDemandforAcademics均可免费用于非商业用途。

  SASStudio是SAS的网页版界面。您在SASStudio环境下编写程序、提交到SAS服务器后,结果会反馈到SASStudio会话。SAS服务器可以是本地机,也可以是远程SAS服务器。SASUniversityEdition采用SASStudio作为SAS服务器的接口,SAS服务器运行于本机安装的虚拟Linux服务器。SASOnDemandforAcademics运行于SAS公司的Linux服务器上。不管您的计算机是何种操作系统(比如Windows,OSXforMacs或者Linux),SASUniversityEdition和SASOnDemandforAcademics都会运行于Linux系统。

  无论您使用何种界面,SAS编程语言均一样。因此,《The Little SAS Book 中文版》的大部分章节都是准确且时新的,不过,部分章节(1.6~1.12节)是展示如何使用SASWindows环境的。如果使用SASStudio作为界面,您大可忽略这些章节转而阅读线上的补充说明材料。

  文档“UsingtheSASStudioInterface:SupplementtoTheLittleSASBook,FifthEdition”可从《The Little SAS Book 中文版》任何一位作者的主页下载:http://support.sas.com/publishing/authors.

前言/序言

  我是从初学SAS就开始看TheLittleSASBook这《The Little SAS Book 中文版》的,当时是怀着对SAS的敬畏之心开始学习的,觉得这应该是一种非常难以学习的语言(看到网上都是这么说的),我原定的一个月学习时间,最后实际只用了不到一个星期。可能是因为我有一定的编程基础,但是我觉得更多的是SAS的语言结构非常直接地刺痛了我的心,这原本就是很多做编程的人需要的语言形式!

  这《The Little SAS Book 中文版》没有一上来去举一些高大上的例子来炫耀语言的功能,也没有给我们去展示SAS的强大,而是耐心地告诉我们SAS为一个编程的人,一个做数据分析的人考虑了什么。书中一上来就告诉我们SAS的语言结构是如此的自由、不拘一格,这恰恰是一个编程人所追求的。严格的语言结构虽然看起来完美,但是那不是我们真正想要的。在互联网飞速发展的今天,自由才是真正的方向,这让我们怎么能不喜欢SAS!

  有人说SAS是用来做数据分析的,但是我用过之后,印象更加深刻的是SAS的数《TheLittleSASBook中文版》各界联袂推荐9据管理功能。这《The Little SAS Book 中文版》的作者也深知这一点,书中花了大量的篇幅来告诉我们如何把数据导入SAS当中,如何让数据以我们想要的样子展现出来,初识数据分析的人对于这些部分可能并不感兴趣,他们可能期待的是高大上的数据分析方法如何实现,但是当他们真正开始进入数据分析,他们就会马上知道其实数据导入这些工作最耗费时间,最容易出错。TheLittleSASBook给我们的功能才是最能帮助到我们的功能。这《The Little SAS Book 中文版》的内容对于数据分析的老手同样有益,这些细致的输入输出讲解可以让我们效率提升不少。我是在高校中开过几年SAS数据分析课程的,一开始我认为学生用SAS,关键是要会实现一些统计分析方法,和先修的多元统计、时间序列等课程相结合。到第一批学生毕业答辩的时候我才发现,很多同学虽然学了四年的统计专业,但连基本的分类汇总、多表拼接、报表生成都不会,他们知道图可以表现出数据的特点,但是他们根本不知道应该画什么图,应该针对什么去画图。这或许可以归咎于课程体系的设计,但是更多的我觉得是我们缺少对于数据的理解,从老师到学生都觉得学一些高大上的方法是有益的,殊不知这些方法是要首先有一个完美的数据集。数据集从哪里来?课本可以给我们提供完美的实例,但是真正到了数据分析的时候,完美的数据集本身是不存在的,需要我们花时间、花精力去构建,老师或许不愿意花时间讲这些内容,但是学生真的应该好好去学习。《The Little SAS Book 中文版》应该可以教你这些,它的语言浅显易懂,配图细致直观,可以很好地帮你们过这一关!出于对SAS语言的喜爱,我觉得我们应该仔细去读一本好书,一本让我们可以随时拿起来品评的书。不多说了,开卷有益,你绝对不会失望!

  ——马壮

  数学中国网站(www.madio.net)站长


其他推荐