第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