第1章 人生若只如初见:初识SAS 1
1.1往事并不如烟 1
1.1.1逗你玩的发音 1
1.1.2有点趣的历史 2
1.1.3逝不去的江湖 5
1.2选择一厢情愿 5
1.3软件架构 6
1.4安装与许可 7
1.5运行模式 12
1.6编程界面 12
1.6.1 DMS界面 12
1.6.2 EG界面 14
1.6.3 SAS Studio界面 14
1.7版本 16
1.7.1购买版与大学版 17
1.7.2免费云端版 17
1.7.3各操作系统平台版 20
1.7.4各语言版 20
1.8本章小结 21
第2章 清歌苦调两不厌:夯实基础 22
2.1 Foundation SAS 22
2.1.1 Foundation SAS的构成 22
2.1.2 Base SAS 23
2.2 SAS数据分析流程 23
2.3逻辑库与数据集 24
2.3.1逻辑库 24
2.3.2数据集 27
2.3.3变量 31
2.4 SAS编程语言 32
2.4.1 SAS程序结构 32
2.4.2 SAS语法规则 33
2.4.3 SAS语言元素 35
2.4.4三种逻辑结构 40
2.4.5数组结构 42
2.4.6函数与CALL例程 46
2.4.7结构化查询语言SQL 46
2.4.8 SAS宏MACRO 48
2.5理解SAS运行机制 49
2.5.1 PDV与DATA步自循环 49
2.5.2@与@@的困惑 55
2.6用好SAS Help的秘诀 57
2.6.1 SAS Help知多少 57
2.6.2看懂SAS Help的基本套路 60
2.6.3检索SAS Help的小技巧 61
2.6.4熟悉SASHelp下的数据集 62
2.7本章小结 63
第3章 苔点狂吞纳线青:读取数据 64
3.1读取对象与读取方式 64
3.2数据读取策略 65
3.3读取DBMS数据文件 66
3.3.1 SAS/ACCESS与DBMS 66
3.3.2 LIBNAME语句访问DBMS数据文件语法 67
3.4读取PC数据文件 67
3.4.1小试牛刀 68
3.4.2 PROC IMPORT语法 68
3.4.3 LIBNAME访问PC文件语法 70
3.4.4实例扩展 70
3.5读取Flat数据文件 72
3.5.1读入CSV文件 72
3.5.2读入TXT特殊字符分隔的文件 72
3.6读取流式数据 74
3.6.1流式数据初探 74
3.6.2 INPUT语句一般语法 74
3.6.3列表读入式 75
3.6.4列读入式 77
3.6.5格式读入式 77
3.6.6命名读入式 78
3.6.7 DATALINES数据综合案例 79
3.6.8关于列表、指针及格式等 79
3.7顺带说说数据导出 80
3.8数据导入导出的宏 81
3.9本章小结 81
第4章 行舟来去泛纵横:变量观测 82
4.1变量与观测操作概览 82
4.2创建数据集 83
4.2.1 DATA+SET语句 84
4.2.2 SQL CREATE语句 85
4.2.3过程步的语句与选项 85
4.3观测与变量的筛选 89
4.3.1 IF与WHERE的辨析 90
4.3.2 KEEP、 DROP与RENAME 91
4.3.3 PROC SQL筛选变量与观测 93
4.4横向的其他操作 93
4.4.1新变量生成与赋值 94
4.4.2变量类型转换 98
4.4.3变量重新分组切割 100
4.4.4缺失变量查找 102
4.5纵向的其他操作 103
4.5.1 DATA步实现累加 103
4.5.2 PROC步实现累加 106
4.5.3 LAG与DIF的隔行取物 107
4.6本章小结 108
第5章 亦应帷幄运鸿筹:数据库集 109
5.1修改数据集:MODIFY语句 109
5.1.1 MODIFY语句实例 109
5.1.2 MODIFY语句注意事项 111
5.1.3 MODIFY语句语法概览 112
5.2更新数据集:UPDATE语句 113
5.2.1 UPDATE语句实例 113
5.2.2 UPDATE语句注意事项 113
5.2.3 UPDATE语句语法概览 114
5.3行列互换(转置):PROC TRANSPOSE 114
5.3.1行转列(宽表转长表) 114
5.3.2列转行(长表转宽表) 116
5.3.3 PROC TRANSPOSE注意事项 116
5.3.4 PROC TRANSPOSE语法概览 117
5.4横向拼接(并接):多SET/MERGE/PROC SQL 117
5.4.1一对一读入 118
5.4.2一对一并接 119
5.4.3匹配并接 119
5.5纵向拼接(串接):SET/PROC APPEND/PROC SQL 123
5.5.1 SET语句 124
5.5.2 PROC APPEND 124
5.5.3 PROC SQL 125
5.6 PROC SQL表连接 126
5.6.1左连接(LEFT JOIN) 127
5.6.2右连接(RIGHT JOIN) 128
5.6.3内连接(INNER JOIN) 129
5.6.4全连接(FULL JOIN) 129
5.6.5表连接操作语法总结 130
5.7 PROC SQL集运算 131
5.7.1差(EXCEPT) 131
5.7.2并(UNION) 132
5.7.3交(INTERSECT) 133
5.7.4外并(OUTER UNION) 134
5.8数据集管理 134
5.8.1初入门庭:制作变量字典 135
5.8.2大雅之堂:数据集信息 136
5.8.3大雅之堂:数据集操作 137
5.8.4大雅之堂:变量信息 138
5.8.5登峰造极:精通SAS字典 139
5.9本章小结 143
第6章 间有山川亦奇秀:函数例程 145
6.1函数和例程是什么? 145
6.2为什么要用函数和例程? 146
6.2.1一个例子感受函数的便利 146
6.2.2一个例子感受例程的便利 147
6.3怎么用函数和例程? 148
6.3.1函数语法 148
6.3.2例程语法 149
6.4在哪里使用函数和例程? 149
6.5有哪些函数例程可用? 150
6.6高频函数和例程有哪些? 152
6.7不够用怎么办? 153
6.8本章小结 154
第7章 翩跹翠袖拂云裳:巧用格式 155
7.1何为格式? 155
7.2为何要用格式? 156
7.3格式名的样子 157
7.4常用系统格式 158
7.4.1常用输出格式 158
7.4.2常用输入格式 159
7.5 PROC FORMAT自定义格式 159
7.5.1自定义格式 159
7.5.2用数据集定义格式 161
7.5.3 PROC FORMAT语法 161
7.6格式的妙用 162
7.6.1格式使用位置 162
7.6.2变量重分组 163
7.6.3统计分析过程 164
7.6.4统计缺失观测 165
7.6.5条件显示 166
7.7本章小结 167
第8章 菱花荇蔓随双桨:百变绘图 168
8.1绘图软件知多少 168
8.2丑陋死板太难搞 169
8.3绘图系统瞄一瞄 170
8.3.1 SAS/GRAPH 171
8.3.2统计过程自动绘图 172
8.3.3 ODS Graphics System 173
8.4基本原则不能少 179
8.4.1 Less is more 179
8.4.2图形元素设计 180
8.5统计图形的选择策略 180
8.5.1统计图形选择总则 181
8.5.2案例说明 183
8.6条图系列(Bar Chart) 184
8.6.1单式条图 184
8.6.2频数图 185
8.6.3带误差限的单式条图 186
8.6.4单式百分比条图 187
8.6.5簇拥式复式条图 188
8.6.6簇拥式复式误差限条图 188
8.6.7堆叠式复式条图 189
8.6.8马赛克图 191
8.6.9镜面式复式条图 191
8.6.10面板条图 193
8.7直方图系列(Histogram) 195
8.7.1简单直方图 195
8.7.2重叠直方图 196
8.7.3镜面直方图 197
8.7.4面板直方图 199
8.8箱线图系列(Box Plot) 200
8.8.1简单箱线图 200
8.8.2分组箱线图 201
8.8.3面板箱线图 202
8.9散点图系列(Scatter Plot) 202
8.9.1 X-Y散点图 203
8.9.2 X-Y散点回归图 203
8.9.3分组散点图 204
8.9.4面板散点图 205
8.9.5泡泡图 206
8.9.6矩阵散点图 207
8.10折线图系列(Line Plot) 208
8.10.1简单折线图 208
8.10.2误差限折线图 209
8.10.3分组误差限折线图 211
8.10.4面板误差限折线图 211
8.11面积图系列(Area Plot) 212
8.11.1面积图 212
8.11.2带状图 213
8.12拟合图系列(Fit Plot) 214
8.12.1密度曲线 214
8.12.2回归线 215
8.12.3椭圆曲线 216
8.12.4 ROC曲线 217
8.12.5 Kaplan-Meier曲线 217
8.12.6 LOESS曲线 219
8.12.7 Spline曲线 221
8.13森林图系列(Forest Plot) 222
8.13.1简单森林图 222
8.13.2亚组分析森林图 223
8.14地图系列(Map) 226
8.14.1纯地图 226
8.14.2统计地图 227
8.14.3热力地图 228
8.15 PROC SGPLOT总结 229
8.16八九打扮十分妖 231
8.16.1更换样式文件 231
8.16.2 SG过程语句选项 232
8.16.3 GTL语句选项 233
8.16.4创建样式文件 235
8.17图片属性控制 238
8.18本章小结 240
第9章 拙中藏巧混天成:统计表格 241
9.1统计表格是什么? 241
9.2统计表格如何设计? 244
9.3统计表格有哪些用法? 245
9.3.1基线信息表格 245
9.3.2危险因素表格 246
9.3.3结局效应表格 246
9.3.4亚组分析表格 247
9.4 SAS制表方式有哪些? 248
9.4.1统计汇总过程 249
9.4.2专用制表过程PROC TABULATE 250
9.4.3专用报告过程PROC REPORT 251
9.5如何完美实现统计表格? 252
9.6手把手来说明 253
9.6.1完整实例 253
9.6.2重点解读 255
9.6.3技能升华 256
9.7本章小结 257
第10章 一缕檀烟万佛名:宏中奥秘 259
10.1学习宏的几个理由 259
10.2认识宏 261
10.3宏变量 261
10.3.1宏变量特性 262
10.3.2创建宏变量的十种方法 262
10.3.3宏符号表与作用域 264
10.3.4掩蔽宏变量 267
10.3.5显示宏变量值 269
10.3.6引用宏变量 270
10.4宏程序 272
10.4.1宏程序定义与调用 272
10.4.2宏程序定义与调用语法 272
10.4.3存储与加密宏程序 273
10.4.4选择与循环宏语句 274
10.4.5宏函数及其分类 276
10.5开发宏程序 277
10.5.1原则 277
10.5.2步骤 278
10.5.3技巧 280
10.6本章小结 281
附录 282
附录1 统计图形不同样式效果展示 282
附录2 部分统计图形彩图效果(ggStyle样式) 284
附录3 部分统计图形彩图效果(ggplot2样式) 285
附录4 SGPLOT绘图参考 286
附录5 笔者原创宏工具分享列表 292
附录6 优质SAS学习资源列表 293
附录7 SAS编程习惯与编程规范 294
参考文献 297