描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302487104
经典,只会变得更加经典。《The Little SAS Book中文版》是每一个学习SAS编程的人必不可少的一本书。洛拉·D.德尔维奇和苏珊·J.斯劳特提供了一种较为容易上手的方法,使得读者能够简单快速地学习SAS语言*常用的功能。每个主题都包含示例和图形。
第5版已经完全更新,用以反映SAS 9.3引入的新的默认输出方式。此外,本版有一章专门介绍ODS绘图,包括SGPLOT过程和SGPANEL过程。其他变化包括扩大了基于语言学排序的覆盖范围,以及增加了一个新的小节专门介绍宏变量与文本串的连接。
每一位SAS程序员的书架上都应该有这本书。它不仅仅能带你入门,更是你日后不断反复学习、巩固提升编程技巧的知识源泉。
我们努力介绍初学者可能需要的所有Base SAS特性。有些读者可能会对某些主题的出现感到惊讶,例如宏,虽然宏通常被认为是高级技能,有时候新手同样需要用到,因此我们也做了介绍。但这并不是说您需要了解本书的全部内容,您仅需阅读能够解决您问题的部分章节即可。即便是从头到尾通读过此书,当碰到新的编程挑战时,您仍可能需要重启记忆,回来温习相关内容。
目
录
第1章 SAS软件使用入门 001
1.1 SAS语言 002
1.2 SAS数据集 004
1.3 DATA步和PROC步 006
1.4 DATA步的内置循环 007
1.5 选择提交SAS程序的模式 009
1.6 SAS窗口环境下的窗口和命令 011
1.7 在SAS窗口环境中提交程序 013
1.8 阅读SAS日志 016
1.9 查看结果018
1.10 SAS数据逻辑库 020
1.11 在VIEWTABLE窗口中查看数据集 024
1.12 用SAS资源管理器查看数据集属性
026
1.13 使用SAS系统选项 028
第2章 导入数据到SAS 031
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 使用 PROC SORT 对数据排序 118
4.4 更改字符数据的排序顺序120
4.5 使用PROC PRINT打印数据123
4.6 使用输出格式更改打印值的外观125
4.7 可供选择的标准输出格式127
4.8 使用 PROC FORMAT 创建自己的输出格式 130
4.9 编写简单的自定义报表132
4.10 使用PROC MEANS汇总数据 134
4.11 将汇总统计量写入 SAS 数据集 136
4.12 使用 PROC FREQ 为数据计数 139
4.13 使用 PROC TABULATE 生成数据报表 141
4.14 将统计量添加到PROC TABULATE输出 143
4.15 美化PROC TABULATE输出 145
4.16 更改PROC TABULATE输出的表标题 147
4.17 为PROC TABULATE输出的数据单元格指定多种输出格式 150
4.18 使用PROC REPORT生成简单输出 151
4.19 在PROC REPORT中使用DEFINE语句 153
4.20 使用PROC REPORT创建汇总报表 156
4.21 在PROC REPORT输出中添加汇总分割 158
4.22 在PROC REPORT输出中添加统计量 160
4.23 在PROC REPORT输出中添加计算变量 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 使用PROC TRANSPOSE将观测转置为变量 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 使用CALL SYMPUT编写数据驱动程序 251
7.8 调试宏错误253
第8章 可视化数据 257
8.1 ODS图形概述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 使用PROC UNIVARIATE 检验数据的分布 286
9.2 使用PROC UNIVARIATE 创建统计图形 288
9.3 使用PROC MEANS 生成统计量 290
9.4 使用PROC TTEST 检验样本均值 292
9.5 使用PROC TTEST 绘制统计图形 294
9.6 使用PROC FREQ 检验分类数据297
9.7 使用PROC FREQ 创建统计图形299
9.8 使用PROC CORR 检验数据的相关性 301
9.9 使用PROC CORR 创建统计图形 303
9.10 使用PROC REG 进行简单回归分析 305
9.11 使用PROC REG 创建统计图形 308
9.12 使用PROC ANOVA 进行单因素方差分析 310
9.13 理解PROC ANOVA 的输出 313
第10 章导出数据 317
10.1 数据导出方法318
10.2 使用导出向导生成文件319
10.3 使用EXPORT 过程导出带分隔符的文件
322
10.4 使用EXPORT 过程导出Microsoft
Excel 文件 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 提示:LOST CARD 343
11.6 提示:无效的数据 345
11.7 提示:生成缺失值 347
11.8 提示:数值已转换为字符(或反之) 349
11.9 DATA步产生错误结果而没有错误消息 352
11.10 错误:选项无效、选项无法识别、语句无效
354
11.11 提示:变量未初始化/错误:变量未找到 357
11.12 SAS截断字符型变量 359
11.13 SAS在程序的中间停止 361
11.14 SAS耗尽内存或磁盘空间 363
附录 从SQL到SAS 367
我是从初学SAS 就开始看The Little SAS Book 这本书的,当时是怀着对SAS 的敬畏
之心开始学习的,觉得这应该是一种非常难以学习的语言(看到网上都是这么说的),
我原定的一个月学习时间,最后实际只用了不到一个星期。可能是因为我有一定的编程
基础,但是我觉得更多的是SAS 的语言结构非常直接地刺痛了我的心,这原本就是很多
做编程的人需要的语言形式!
这本书没有一上来去举一些高大上的例子来炫耀语言的功能,也没有给我们去展示
SAS 的强大,而是耐心地告诉我们SAS 为一个编程的人,一个做数据分析的人考虑了什
么。书中一上来就告诉我们SAS 的语言结构是如此的自由、不拘一格,这恰恰是一个编
程人所追求的。严格的语言结构虽然看起来完美,但是那不是我们真正想要的。在互联
网飞速发展的今天,自由才是真正的方向,这让我们怎么能不喜欢SAS !
有人说SAS 是用来做数据分析的,但是我用过之后,印象更加深刻的是SAS 的数
《The Little SAS Book 中文版》
各界联袂推荐9
据管理功能。这本书的作者也深知这一点,书中花了大量的篇幅来告诉我们如何把数据
导入SAS 当中,如何让数据以我们想要的样子展现出来,初识数据分析的人对于这些部
分可能并不感兴趣,他们可能期待的是高大上的数据分析方法如何实现,但是当他们真
正开始进入数据分析,他们就会马上知道其实数据导入这些工作最耗费时间,最容易出
错。The Little SAS Book 给我们的功能才是最能帮助到我们的功能。这本书的内容对于数
据分析的老手同样有益,这些细致的输入输出讲解可以让我们效率提升不少。我是在高
校中开过几年SAS 数据分析课程的,一开始我认为学生用SAS,关键是要会实现一些统
计分析方法,和先修的多元统计、时间序列等课程相结合。到第一批学生毕业答辩的时
候我才发现,很多同学虽然学了四年的统计专业,但连基本的分类汇总、多表拼接、报
表生成都不会,他们知道图可以表现出数据的特点,但是他们根本不知道应该画什么图,
应该针对什么去画图。这或许可以归咎于课程体系的设计,但是更多的我觉得是我们缺
少对于数据的理解,从老师到学生都觉得学一些高大上的方法是有益的,殊不知这些方
法是要首先有一个完美的数据集。数据集从哪里来?课本可以给我们提供完美的实例,
但是真正到了数据分析的时候,完美的数据集本身是不存在的,需要我们花时间、花精
力去构建,老师或许不愿意花时间讲这些内容,但是学生真的应该好好去学习。本书应
该可以教你这些,它的语言浅显易懂,配图细致直观,可以很好地帮你们过这一关!
出于对SAS 语言的喜爱,我觉得我们应该仔细去读一本好书,一本让我们可以随时
拿起来品评的书。不多说了,开卷有益,你绝对不会失望!
——马壮
数学中国网站(www.madio.net)站长
何人需要此书 本书适用于商业、政府和学术等领域的所有SAS新手,或者是任何使用SAS软件进行数据分析的人员。无论您是否拥有SAS使用经验,本书都可帮助您学习未知技术,作为参考书亦有裨益。
本书涵盖内容 本书以大量实例、清晰简明的解释以及尽可能少的术语来介绍SAS语言,且大部分的功能均来自Base SAS。Base SAS包含了所有程序员所使用的核心功能。但也有例外,例如第9章包含了使用SAS/STAT模块的过程;此外还有第2章及第10章中,介绍从其他软件导入导出数据,其中一些方法要求使用SAS/ACCESS Interface to PC Files。
我们努力介绍初学者可能需要的所有Base SAS特性。有些读者可能会对某些主题的出现感到惊讶,例如宏,虽然宏通常被认为是高级技能,有时候新手同样需要用到,因此我们也做了介绍。但这并不是说您需要了解本书的全部内容,您仅需阅读能够解决您问题的部分章节即可。即便是从头到尾通读过此书,当碰到新的编程挑战时,您仍可能需要重启记忆,回来温习相关内容。
本书未涉及的内容 SAS零基础者亦可阅读本书,但您必须对本地计算机和运行环境有所了解。从一个操作环境转换到另一个操作环境时,SAS语言几乎是相同的,但有些差异也不可避免。例如,每个操作环境都有不同的文件存储机制和访问方式,一些操作环境比其他操作环境具有更多的交互计算能力,或者您的公司可能有规章制度限制打印文件的大小。本书会尽可能地回答操作环境的相关疑问,但没有任何一本书可以回答与本地系统相关的全部问题,因此您必须对自身的操作环境有一定实践基础,或碰到问题时有可求助之人。
本书并非是SAS帮助文档以及众多其他SAS出版物的替代品,本书中未能涉及的细节内容,您可以从其他相关资料里进行了解和学习。
The Little SAS Book中文版24 我们仅仅讨论了众多SAS 统计过程中的个别事例。幸运的是,众多的统计过程可以共享语句、选项和输出,因此,介绍的这几个过程可以看作是其他过程的引入。一旦您阅读了第9 章,自然而然就会熟悉其他统计过程。遗憾的是,本书无法对诸如自由度、交叉和嵌套效应等统计概念进行深入介绍。统计检验要有效,就必须满足数据的一些基本假设。实验设计和模型的选择也至关重要。结果的解读往往也很困难,且偏主观。我们假定对统计计算感兴趣的读者对统计学已经有了一定的了解。希望使用统计过程但不熟悉这些统计概念的读者可以咨询统计学家、寻找统计入门资料,或者更好的办法是学习统计课程。模块化章节我们撰写本书的目的就是让学习SAS 的过程尽可能轻松愉快。当然,我们也需要正视现实:SAS 是一个宏大的话题,您可能曾驻足于满架的SAS 出版物前挠头苦恼,抑或盯着满屏的文档直到两眼模糊。我们无法将全部SAS 内容压缩到这本小书中,但我们可以将话题浓缩成短小、易读的章节。本书每个章节都是一个完整的主题,您可以跳过不适用的部分。当然,我们认为每个章节都很重要,否则就不会在此一一介绍,但您无须通晓全书即可完成相关工作。我们认为把主题以简短、易懂的章节形式呈现,学习SAS 会更加简单有趣,正如一日三餐要好过一周一次的暴饮暴食。插图我们将尽可能用插图来标识章节中的内容或者帮助解释主题。带波纹边框的表示原始数据文件;带平滑边框的表示SAS 数据集。框内的波纹()表示数据(任何原始数据),句点()表示缺失值。这些框之间的箭头则表示:该章节解释了如何从一个框里的数据变成另一个框里的数据。有些章节有标明打印输出的插图。这些插图看起来像印有页眉的一堆纸片。原始数据文件SAS 数据集
评论
还没有评论。