Professional Documents
Culture Documents
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
前言
2003.6
SAS 操作入门 编者:江南大学 吴有炜 2
目录
前言..................................................................................................................................................1
目录......................................................................................................................................................2
统计方法作用一览 ..............................................................................................................................7
(1) 描述性统计分析 ............................................................................................................................... 7
(2) 相关性分析 ....................................................................................................................................... 8
(3) 分析检验变量对变量影响的显著性................................................................................................ 9
(4) 变量间的函数关系------回归分析 ..................................................................................................... 9
(5) 多变量的降维 ................................................................................................................................... 9
(6) 指标变量或样本变量的分类或归类............................................................................................ 10
2
SAS 操作入门 编者:江南大学 吴有炜 3
第一节 不同方法的输入.................................................................................................................34
1. 方法一: 在程序作业流中输入数据 ......................................................................................34
2. 方法二: 调用磁盘上的数据..................................................................................................35
(1) 编程进行 ............................................................................................................................................. 35
(2) 利用菜单系统调用磁盘上数据 ......................................................................................................... 36
3. 方法三: 调用其它 SAS 数据集中的数据 .............................................................................36
4. 方法四: 利用子系统 INSIGHT 输入或调用数据.................................................................37
5. 方法五: 利用子系统 SAS/STAT-Analyst Application(分析员应用)输入或调用数据 ..........38
第二节 数据集的拆分、合并(纵向)和拼接(横向) .........................................................................38
1. 数据集的数据的删选拆分 .....................................................................................................38
2.数据集的纵向合并(增加样本量) ..............................................................................................39
3. 两个数据集按一共有变量名横向合并(增加指标变量).........................................................40
第三节 不同形式数据的输入和变量变换 .....................................................................................41
1 一维变量 ..................................................................................................................................41
2 带下标变量及向量 ..................................................................................................................42
3. 二维向量 ...............................................................................................................................44
4.FORMAT 语句转换解释变量值 ................................................................................................47
第四节 SAS 数据集转换成外部数据文件或输出报表 ...................................................................49
1. 方法一: 用菜单系统输出 SAS 数据集 .............................................................................49
2. 方法二: 编程输出 SAS 数据集 .........................................................................................49
3. SAS—Output 窗口的结果输出 ..................................................................................................50
第五节 SAS 的运算符和函数 ..........................................................................................................51
1. SAS 的运算符 ............................................................................................................................51
2.sas 函数.......................................................................................................................................51
(1) 概率分布函数 ................................................................................................................................... 51
(2) 分位数函数 ....................................................................................................................................... 52
(3) 样本统计函数 ................................................................................................................................... 52
(4) 随机数函数 ......................................................................................................................................... 53
(5)一般函数.......................................................................................................................................... 54
3
SAS 操作入门 编者:江南大学 吴有炜 4
第一节 单个总体均值和方差的检验...............................................................................................94
1. 单个总体均值和方差的区间估计 .........................................................................................95
(1)求均值 a 的区间估计 ........................................................................................................................... 95
(2) 单个总体方差σ2 的区间估计 ......................................................................................................... 97
2. 单个总体均值和方差的检验 .................................................................................................98
(1)均值 a 的假设检验 ............................................................................................................................... 98
(2) 单总体方差σ2 的假设检验 ............................................................................................................. 99
第二节 两组均值比较...................................................................................................................100
1. 两个独立总体均值差的检验 .................................................................................................100
(1) 用菜单系统比较两个独立总体均值差的参数检验........................................................................ 100
(2) 编程比较两个独立组均值的非参数检验------Wilcoxon 秩和检验................................................ 101
(3) 比较分析两个独立组均值的 t—检验和其它程序..................................................................... 101
2. 成对数据组均值差的检验 ...................................................................................................104
(1)方法 1 编程进行 .............................................................................................................................. 105
(2)方法 2 利用分析员菜单系统 .......................................................................................................... 106
第三节 正态性检验.......................................................................................................................106
1. 利用 Univariate 过程对一组数据进行正态性检验 ............................................................106
2. 利用 SAS/INSIGHT 数据探索性分析系统 ..........................................................................107
第四节 对 100 名学生身高体重数据(数据见程序中)编程进行的系列分析.............................107
习题四..............................................................................................................................................109
4
SAS 操作入门 编者:江南大学 吴有炜 5
3. 利用分析员应用系统进行多因素方差分析 .......................................................................122
习题五..............................................................................................................................................124
5
SAS 操作入门 编者:江南大学 吴有炜 6
1. 属性变量无关联性的卡方检验 .............................................................................................179
2. 属性变量无关联性的 Fisher 精确检验.................................................................................180
3. 两个有序变量的无有序关联性检验----Mentel-Haenszel 检验 ............................................182
第三节 属性数据的线性模型 CATMOD 过程...........................................................................183
习题七..............................................................................................................................................189
第一节 距离判别法.......................................................................................................................236
第二节 BAYES 判别和广义平方距离判别....................................................................................240
第三节 非参数法...........................................................................................................................244
第四节 CANDISC(典型判别)过程..................................................................................................245
第五节 STEPDISC(逐步判别)过程 ...............................................................................................247
习题十一..........................................................................................................................................248
第四章方差分析与协方差分析 ......................................................................................................252
1. 例.4.1.3..................................................................................................................................252
2. 例.4.3.1..................................................................................................................................253
3. 例 4.3.2..................................................................................................................................255
4. 习题 4.3.................................................................................................................................255
5. 习题 4.4.................................................................................................................................257
第六章回归分析..............................................................................................................................258
1. 例 6.4.1..................................................................................................................................258
2. 例 6.5.1(逐步回归求最优回归方程) ...................................................................................259
3. 例 6.6.1 ...............................................................................................................................260
4. 例 6.8.1(非线性回归) ...........................................................................................................261
5. 例 6.8.2(非线性回归) ...........................................................................................................262
第十三章 主成份分析...................................................................................................................263
1. 例 13.3.1................................................................................................................................263
6
SAS 操作入门 编者:江南大学 吴有炜 7
2. 习题 13.1...............................................................................................................................265
3. 习题 13.2...............................................................................................................................266
第十三章 因子分析.......................................................................................................................267
1. 例 13.5.1..............................................................................................................................267
2. 习题 13.2...............................................................................................................................268
第十五章 系统聚类.......................................................................................................................270
1. 例 15.2.1...............................................................................................................................270
2. 例 15.4.1(动态聚类) .............................................................................................................271
3. 例 15.5.2 (变量分割聚类) .................................................................................................271
第十五章 判别分析.......................................................................................................................272
1. 例 15.6.1................................................................................................................................272
2. 例 15.6.3................................................................................................................................274
3. 例 15.5.3................................................................................................................................275
第十六章 典型相关分析...............................................................................................................276
1. 例 16.2.1................................................................................................................................276
2. 习题 16.1...............................................................................................................................278
/*习题五...........................................................................................................................................283
/*习题六*/........................................................................................................................................287
/*习题七*/........................................................................................................................................293
/*习题八...........................................................................................................................................295
/*习题九...........................................................................................................................................301
/*习题十...........................................................................................................................................303
/*习题十一.......................................................................................................................................308
统计方法作用一览
变量可分为:
1) 连续变量------可以连续变化的量(SAS 数据输入中标明为 Interval),如
时间、长度等 进一步可分为区间变量和比率变量,前者的两个值有大
小之序且差有意义但比没有意义如温度,后者进而要求有”倍”的概念
两个值可产生比率如重量
2) 属性变量(或称定性变量、离散变量、分类变量)---------- (SAS 数据输
入中标明为 Nominal),又进一步可分为名义变量(无序变量)和有序变
量,如催化剂种类、地点等是名义变量而等级是有序变量
(1) 描述性统计分析
给变量的一组数据,描述性统计分析给出了该变量的各种统计量,也可以以报表或图的
形式输出这些信息.
程 序 名 PROC 作 用 与 结 果
7
SAS 操作入门 编者:江南大学 吴有炜 8
调用 MEANS(描述性统计分析)过程,产生均值、
MEANS 标准差、最大、小值、峰度、偏度等基本描述性统计值,
并能产生含统计值的输出文件和报表输出文件.
调用 SUMMARY(产生描述性统计值的输出文件)
SUMMARY
过程,类似程序 means,但不能产生报表分析.
调用 UNIVARIATE(描述性统计值的计算与绘图)
过程,类似程序 means,并用能对变量的分布提供更多
UNIVARIATE 信息,如分布图、频数分布图、正态分布检验等.
调用 CHART(统计值的图形表示)过程,可绘制表
CHART 示一个或多个变量描述性统计值的图形,如横轴图、纵
轴图、方形图、星形图、圆形图等.
调用 TABULATE(统计表格的制作)过程,制作各式
TABULATE 统计表格,这些表格目录多可分为三维即表格的行
(column)、列(row)与页(page).
调用 PLOT(一般制图),将二维的变量值转化为坐
PLOT
标值,用二维图形绘出;绘制三维轮廓图(contour)
调用 STANDARD(标准化分数)过程:采用标准化
STANDARD
公式 将资料文件内数值变量加以标准化.
调用 RANK(排名、序)过程:将文件中定量数据排
RANK
序后按序转换成名次
调用 SCORE (变量值的线性组合)过程:对一系列
SCORE 变量值赋权(比重或系数),然后以线性组合的方式求
和,产生新的资料文件.
(2) 相关性分析
研究变量间联系密切程度
程 序 名 类 型 作 用 结 果
PROC
CORR 两个变量 调用 CORR(相关性分析)过程,对长度尺度测量的参数统计方法,
间 产生相关系数阵,
(一对一) 对等尺度测量的无参数统计方法,产生关联系数阵.
一个变量 复相关系数的平方 R2
对一组变
量
一组变量 调用 CANCORR 过程,执行典型相关分析,分析结果包括(未经过)
对一组变 标准化的各顺序典型变量对、典型相关系数之所有典型变量与原始
CANCORR
量 变量之间的相关系数,以及典型变量值.
8
SAS 操作入门 编者:江南大学 吴有炜 9
(3) 分析检验变量对变量影响的显著性
讨论自变量(连续变量取不同值,分类变量取不同水平)对因变量的影响程度
方法名 程 序 名 类 作 用 结 果
PROC 型
(4) 变量间的函数关系------回归分析
研究因变量(连续变量、分类变量)和自变量(连续变量、分类变量)之间的”函数”关系即
研究回归方程的类型及参数
程 序 名 类 型
PROC
REG 等 因变量(连续变量)对自变量(连续变量)
PROBIT 因变量(二分类变量)对自变量(连续变量)
LOGISTIC 因变量(有序分类变量)对自变量(连续变量)
CATMOD 自变量(分类变量可伴有连续变量)对因变量(连续变量或分类变量)的
影响以观测频数体现
(5) 多变量的降维
新变量是原变量组的线性组合,用个数较少(降维)的新变量组取代原变量组
9
SAS 操作入门 编者:江南大学 吴有炜 10
方法名 程 序 名 作 用 结 果
PROC
(6) 指标变量或样本变量的分类或归类
方 法 程 序 名 作用与结果
名 PROC
聚类分析 CLUSTER 等 调用 CLUSTER 等过程,依据样本及类距离,将变量集分成
若干类别
10
SAS 操作入门 编者:江南大学 吴有炜 11
11
SAS 操作入门 编者:江南大学 吴有炜 12
1.SAS 的启动
点击 SAS 图标 ⇒ SAS 窗口
2.SAS 的三个主要窗口
12
SAS 操作入门 编者:江南大学 吴有炜 13
(2)Log 窗口
(3)Output 窗口
SAS v8 版还有浏览(Explorer)窗,结果(Results)窗
3. 演示 SAS 操作的一个例
13
SAS 操作入门 编者:江南大学 吴有炜 14
操作步骤
(第一步:启动 SAS) 点击 SAS 图标 ⇒
( 若 有 程 序 错 误 则 修 改 ; 若 无 错 误 需 要 保 存 ) ⇒ File
⇒ Save(或 Save as) ⇒
(第五步:查看输出结果) ⇒ Output 窗 ⇒ (查看)
本例输出结果如下:
14
SAS 操作入门 编者:江南大学 吴有炜 15
4. SAS 的菜单条介绍
(1)File
Save 保存
Save As…另存为
Inport Data…调入其它系统文件
Export Data…输出 SAS 文件到其它系统
Print Preview…打印预览
Print…打印
(2)Edit
15
SAS 操作入门 编者:江南大学 吴有炜 16
(4) Tools
Query 进入 Libraries
Table Editor 进 入 数 据 输 入
编辑窗口
(5)Run
Submit 提交程序运行
Recall Last Submit 在编辑窗口调入上
次提交的程序
16
SAS 操作入门 编者:江南大学 吴有炜 17
Solutions 下的菜单:
Analysis----SAS 分析菜单系统(包括十四个重要的模块,见第三节)
ACCESS 软件------为用户提供了透明地访问其它数据库文件的功能
ASSIT-------提供了面向任务的菜单驱动界面,借助它可调用 SAS 其它模块
Desktop----类似 window 桌面,
17
SAS 操作入门 编者:江南大学 吴有炜 18
EIS---------是一个决策支持表现工具,以生动直观的方式(图或表)将关键性或总结性信息
呈现给使用者的非常易用的系统.
1. Base Sas
主要功能:数据管理;基础统计计算;报表生成和图形显示.
2. SAS/STAT
3. SAS/INSIGHT
SAS/INSIGHT 是一个完整的数据分析子系统,为用户提供了一个可进行交互式数据探索和
分析的工具,用户可同时打开多个窗口对数据和图像进行比较和分析.其特色是将常用的统
计方法和交互式的图形显示结合在一起.
4. SAS/ASSIT
18
SAS 操作入门 编者:江南大学 吴有炜 19
5. SAS/ETS
SAS/ETS 是用于计量经济与时间序列分析的专用软件,是研究复杂系统和进行预测的有力
工具.
6. SAS/OR
SAS/OR 是用于运筹学和工程管理的专用软件,提供了全面的运筹学方法,包括了通用的线
性规划、整数规划、混合整数规划和非线性规划,也为专门的规划问题〔如网络流问题、运
输问题、分配问题等〕提供了更为直接的解决办法.
SAS/OR 还包含用于项目管理、时间安排和资源分配等问题的一整套方法,其中 XPROJ
MAN 菜单系统提供了项目管理优化方法的图形界面菜单操作法 QSIM 菜单系统提供了在
图形界面上解决散随机事件模拟问题的方法.
7. SAS/QC
SAS/QC 是用于质量控制的专用软件.它为全面质量管理提供了一系列工具.
还提供了用于分析抽样方案的工具模块.其中全屏幕菜单系统 SQC 和 XADX 引导用户进行
标准的统计过程控制以及试验设计.
SQC 提供了多种不同类型控制图的制作与分析,检测数据分布的拟合与检验(参数或非参
数).
XADX(ADX)菜单系统将实验设计的安排、试验结果的分析、分析结果的呈现为用户提供
了直观和使用方便的交互式操作界面.
8. SAS/IML
SAS/IML 提供了功能强大的面向矩阵运算的编程语言.其处理数据的基本单元是矩阵,包含
大量针对矩阵的数学运算符、函数和例行程序,用户用很少的语句可描述很复杂的计算过程.
允许用户直接用矩阵代数的记号来组成 IML 的程序语句.
9. SAS/GRAPH.
SAS/GRAPH 一个强有力的图形软件,可将数据及其包含的深层信息以多种图形生动地呈现
出来,如直方图、圆形图、星形图、散点相关图、曲线图、三维曲面图、等值线、地理图、
及各种映像图.也可直接制作不同方法拟合的回归曲线和相应的置信曲.它还有一个全屏幕
图形编辑器可对已有图形进行编辑和修饰.SAS/GRAPH 还提供多种设备驱动程序便于生成
的图形输出.
10. SAS/EIS
19
SAS 操作入门 编者:江南大学 吴有炜 20
者的非常易用的系统.
11. SAS/ACCESS
SAS/ACCESS 软件为用户提供了透明地访问其它数据库文件的功能.
12. SAS/LAB
第三节 推荐几个子系统
ANALYSIS-------各种利用图形界面操作的分析子系统
⇒ (1) 3D Visual Analysis 三维直观分析
⇒ (2) Analyst(STAT-Analyst Application) 分析员应用系统
----------------------重点推荐,可以完成输入数据及统计分析全过程
⇒ (3) Design of Experiments 试验设计(ADX)
-----------------------打开 ADX 模块,可进行各种试验设计包括响应面设计与分析等.
⇒ (4) Enterprise Miner 项目管理
⇒ (5) Geographic Information System 进入 Libraries(map,work 等)
⇒ (6)Guided Data Analysis 导引性数据分析
------------------打开 SAS/LAB 模块,可以执行回归、方差分析等标准的分析并对结
果进行解释
⇒ (7) Interactive Data Analysis (SAS/INSIGHT 系统) 探索性数据分析
20
SAS 操作入门 编者:江南大学 吴有炜 21
2. 重点推荐的模块--------
进入方法
21
SAS 操作入门 编者:江南大学 吴有炜 22
其中:
(1) File 栏目: Open…打开 V8 文件调用已有数据,Open by SAS Name…调用 work(SAS
运行后产生的临时数据库)中的数据,Save(As)…(另)存为
(2)edit 栏 目 :Insert Column 插 入 新 行 , 列 Duplicate 拷 贝 Browse 浏 览
(Share)Eidt(分行)编辑
(3) View 栏目:可改变数据表浏览方式,即移动、隐藏、固定列,修改数据表属性
(4)Tools 栏目:
(5) Data 栏目:数据筛选、排序、概括、串接、合并及计算
(6)Rrports 栏目
(7)Graphs 栏目(作统计图的重点栏目):包括直方图,盒形图,等高线,(二维)三维散点图,二维曲
线图,三维曲面图等
22
SAS 操作入门 编者:江南大学 吴有炜 23
(8)Statistics 栏目(重点栏目)
(8)---1) 描述性统计分析(详见第三章)
(8)---2)列联表分析(Table Analysis)(详见第七章)
(8)---3)假设检验(含区间估计)(详见第四章)
23
SAS 操作入门 编者:江南大学 吴有炜 24
单总体方差已知时均值的 z 检验
单总体方差未知时均值的 t 检验
单总体比例的检验
单总体方差的检验
两个独立总体时均值的 t 检验
成对数据均值的 t 检验
两个总体比例的检验
两个总体方差的检验
(8)---4) 方差分析(详见第五章)
(8)---5) 回归分析(详见第六章)
Simple… 一元回归
Linear…线性回归
Logistic…逻辑回归
(8)---6)多变量分析(详见第八、九章)
Principal Compoments…
主成分分析
Canonical Correlation…
典型相关分析
24
SAS 操作入门 编者:江南大学 吴有炜 25
3. 重点推荐的模块--------
交互式的数据探索和分析系统:SAS/INSIGHT 系统
25
SAS 操作入门 编者:江南大学 吴有炜 26
进入方法
Solution↓ ⇒ Analysis ↓ ⇒ Design of Experiments ⇒
二水平设计、响应
面设计、混合设计、混
合水平设计、最优设计
及 Split-plot 设计
以下为响应面设计的一
个例(数据源自教材<<
试验设计与数据处理
>>例 6.7.2):
⇒ (响应面设
计)
Define Variables… ⇒
(准备选择自变量与响应变量)
⇒ Factor ⇒ ( 编 码 处 理 后 的 ) 自 变 量 个 数
26
SAS 操作入门 编者:江南大学 吴有炜 27
⇒ OK
⇒ Response ⇒ 响应变量个数 ⇒ OK
⇒ Block ⇒ 块个数 ⇒ (回答:Do You want to save the changs ?) ⇒ (回答:) yes
回到 Response Surface Design New Design 窗口
⇒
输入数据后见下表:
27
SAS 操作入门 编者:江南大学 吴有炜 28
⇒ Explore… 散点图,盒形图
28
SAS 操作入门 编者:江南大学 吴有炜 29
⇒ Fit… 模型优化(即剔除不显著项)
⇒ × (关闭该窗口)
⇒ Optimize…
响应变量的最值讨论,(从下图可以看到 Y1(标记+)是经过 Fit 的而 Y2(标记*)没
有经过 Fit) ⇒ Run ⇒
给出各种图形包括一元极值图、二元等高线图、三维响应面图等
输出结果(部分)如下:
29
SAS 操作入门 编者:江南大学 吴有炜 30
30
SAS 操作入门 编者:江南大学 吴有炜 31
31
SAS 操作入门 编者:江南大学 吴有炜 32
输出报告如下(部分):
32
SAS 操作入门 编者:江南大学 吴有炜 33
33
SAS 操作入门 编者:江南大学 吴有炜 34
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
第一节 不同方法的输入
1. 方法一: 在程序作业流中输入数据
形式:
data 数据名;
input 变量名 … 变量名; /*字符变量后加$,变量名之间空格*/ 注:/*……*/为注释
语句 sas 运行时跳过该语句
(用于 DATA 步的其它 SAS 语句;)
cards;
[数据行] /*每行数据占一行 */
; /* ;空语句*/
34
SAS 操作入门 编者:江南大学 吴有炜 35
例 2.1.1
data E21; input name $ x1-x3;/*SAS系统不区分字母大小写,cards以下将输入一个字
符型变量name和三个数值型变量x1,x2,x3的值*/
n=_n_; /*data步中定义变量n用于记录观测序号*/
y=x1+x2;
cards;
A 1.1 2.6 3.8 /* 注:每行数据, 单占一行*/
B 4.5 5.7 6.0 /* 输入整数、非整数时, 一个数内部不能有空格否则会被误识成二个数*/
C 7.6 8.2 9.7
; /* ;为空语句表示数据输入结束,空语句必须单独占一行*/
run; /*运行*/
或
data E21; input name $ x1 x2 x3@@; /* 注: @@为不分行符可以使数据连续输入*/
n=_n_; y=x1+x2;
cards;
A 1.1 2.6 3.8 B 4.5 5.7 6.0 C 7.6 8.2 9.7
;
proc print data=E21; /*将数据集显示在 output 窗口,data=E21 缺省则输出最新建立的数据集*/
var name x1-x3 n y; /*若缺省则输出数据集中所有变量,print 语句缺省则运行后数据集仅存
入 work 中而不在 output 窗口显示*/
run;
运行结果查看:
2. 方法二: 调用磁盘上的数据
(1) 编程进行
形式:
data 数据名;
infile ‘磁盘名:\文件名’;
input 变量名 … 变量名;
(用于 DATA 步的其它 SAS 语句;)
run;
data E22;
infile `C:\My Documents\My SAS Files\E11.dat `;
35
SAS 操作入门 编者:江南大学 吴有炜 36
(2) 利用菜单系统调用磁盘上数据
形式:
data 数据名;
set (或 merge 或 updata 或 modify)其它 SAS 数据集中数据名;
36
SAS 操作入门 编者:江南大学 吴有炜 37
例 2.1.3
data E20;
input number sex $ x1 x2 ;
cards;
1 m 12 54
2 w 45 76
3 m 43 76
4 w 42 17
;
run;
/*以下为调用*/
data E24;
set E20; /* 注: set 调取 sas 数据库数据 E23 */
if sex=’m’; /*数据的删选,即只选取 E20 中女性的数据进入 E24*/
y=(x1+x2)/3;
z=x1*x2;
I=int(y); /* 注: int(y)表对 y 取整数部分*/
run;
比较两张输出表:
37
SAS 操作入门 编者:江南大学 吴有炜 38
⇒ SAS/INSIGHT:open 窗口
1 若录入数据: new ⇒ (录入)
○
2 若调用 work 中已有数据: ⇒ Library 选中
○ work ⇒ (在 Data Set 中
选中数据名) ⇒ Open ⇒ Analyze↓
5. 方 法 五 : 利 用 子 系 统 SAS/STAT-Analyst
Application(分析员应用)输入或调用数据
第二节 数据集的拆分、合并(纵向)和拼接(横向)
1. 数据集的数据的删选拆分
例 2.2.1
data E26;
38
SAS 操作入门 编者:江南大学 吴有炜 39
经数据删选得数据表 E26
2.数据集的纵向合并(增加样本量)
形式:
data 合并后数据名;
set 数据名 1 数据名 2 ;
run;
作用:可以添加或合并样本变量
将名为 male、female 的两个数据集纵向合并成一个名为 total 的数据集
data total;
39
SAS 操作入门 编者:江南大学 吴有炜 40
注 意 表 格
Work.Total 中 变 量
name 的排序为
A—C—E—B—
D
而表格 DA6 中
变量 name 的排序为
A—B—C—D—E , 想想为什么?
3. 两个数据集按一共有变量名横向合并(增加指标变量)
形式:
data 合并后数据名;
merge 数据名 1 数据名 2 ;
by 共有变量名;
run;
作用:添加或合并(指标)变量
例 2.2.2
data one;
cards;
101 m 54
105 w 36
102 m 43
104 w 45
data two;
cards;
105 54 163
102 63 174
103 57 173
104 45 156
40
SAS 操作入门 编者:江南大学 吴有炜 41
by pid;
proc print data=total2;
run;
运行结果见表:
第三节 不同形式数据的输入和变量变换
1 输入一维变量
例 2.3.1(不带下标)
41
SAS 操作入门 编者:江南大学 吴有炜 42
run;
例2.2.1(续) (输入和变量转换)
data E23; input member $ sex $ x1 x2 x3;
y=x1+x2; z=x1**2; w=Abs(x2); /*加法,平方,绝对值函数*/
if x1>x2 then D='yes';else D='no'; /*五种条件语句之 ○1 */
end;
else Do; E='no';
end;
if sex='m' then sex1='男';else sex1='女'; /*五种条件语句之○
3 */
*/
if sex=’w’ then go to order; order:sex2=’female’; /*go to (转向自定命令标签名位置),执行命令
(是绝对命令而非条件命令)位置自定,注意执行结果, 五种条件语句之 ○
5 */
cards;
A m 1.1 3.8 3.8
B w 4.5 -5.7 . /*遗漏数据一定要加符号.*/
C m -8.2 -8.2 9.7
;
title’数据的各种输入’;
run;
运行结果见下表:
2 带下标变量及向量
在表格形式的数据集中行变量与列变量的交叉形成单元格,单元格内又可有重复变量
n 个 Do---end 语句可以输入带 n 个下标的变量或 k 维向量
42
SAS 操作入门 编者:江南大学 吴有炜 43
形式
Data 数据名;
Do 行标名=起始值 to 终值 by 步长; /*步长为 1 时可缺省 by*/
Do 列标名=起始值 to 终值 by 步长;
Do rep=1 to 终值 s;/*单元格重复 s 次*/
input 变量名@@; (向量为 input 分量名 1 @;
input 分量名 2 @;
………………
input 分量名 k @;)
output ;
end;
end;
end;
run;
例 2.3.2
输入下表
推进器(M) M0 M6 M12
58. 2 56. 2 65. 3
F1
52. 6 41. 2 60. 8
49. 1 54. 1 51. 6
F2
42. 8 50. 5 48. 4
燃料(F)
60. 1 70. 9 39. 2
F3
58. 3 73. 2 40. 7
75. 8 58. 2 48. 7
F4
71. 5 51. 0 41. 4
用三个 do---end 语句输入带三个下标的一维变量 Rfmr(f=1-4;m=1-3;r=1,2)(两因
素+重复)
43
SAS 操作入门 编者:江南大学 吴有炜 44
; /*可以看到输入数据时与表格形式一致*/
run;
运行结果(部分)见下表:
3. 二维向量
例 2.3.3
二维向量(不带下标)
x 23 54 35 84 13
y 42.1 53.3 65.5 34.2 63.7
方法一:
data E27;input x y@@; /* 注: @@可以使数据连续输入*/
z=x+y;
cards;
23 42.1 54 53.3 35 65.5 84 34.2 13 63.7
;
run;
方法二
data E271;
do rep=1 to 5;
input x@; /* 注: 向量(x,y)的输入: input x @; input y@;*/
input y @;
z=x+y; u=rannor(rep); /* rannor(rep)为标准正态随机数*/
output;
end;
44
SAS 操作入门 编者:江南大学 吴有炜 45
cards;
23 42.1 54 53.3 35 65.5 84 34.2 13 63.7
;
proc print; /*在结果窗口输出*/
run;
输出结果见下表:
例 2.3.4
输入下表
表 猪体重增长数据
x 15 13 11 12 12 16 14 17
A1
y 85 83 65 76 80 91 84 90
x 17 16 18 18 21 22 19 18
A2
y 97 90 100 95 103 106 99 94
x 22 24 20 23 25 27 30 32
A3
y 89 91 83 95 100 102 105 110
用 do---end 语句输入二个下标(a=1,2,3;i=1-8)的二维向量(x,y)ai(下标: 单因素+重复)
方法一: 用一个 do---end 语句表示重复
输入有序分类变量 A+数组@(整个 do---end 语句实际给出@相当于 A i x1 y1 x2 y2 …x8 y8)
data pig;
input A $ @;
do i=1 to 8;
input x @; /* 向量(x,y)的输入: input x @; input y @;*/
input y @;
output;
end;
cards;
A1 15 85 13 83 11 65 12 76 12 80 16 91 14 84 17 90
A2 17 97 16 90 18 100 18 95 21 103 22 106 19 99 18 94
A3 22 89 24 91 20 83 23 95 25 100 27 102 30 105 32 110
run;
45
SAS 操作入门 编者:江南大学 吴有炜 46
例 2.3.5
输入下表
A1 A2 A3 A4
x 49.0 49. 2 49. 8 49. 8 49. 9 49. 8 49. 7 49. 8
B1
y 71 73 73 75 76 73 75 73
x 49. 5 49. 3 49. 9 49. 8 50. 2 50. 1 49. 4 49. 4
B2
y 72 73 76 74 79 77 73 72
x 49. 7 19. 5 50. 1 50. 0 49. 7 50. 0 49. 5 49. 6
B3
y 75 73 78 77 74 75 70 71
46
SAS 操作入门 编者:江南大学 吴有炜 47
4.FORMAT 语句转换解释变量值
例 2.3.6
data E28;
input name $ sex $ age rank x1 x2 x3;
47
SAS 操作入门 编者:江南大学 吴有炜 48
cards;
A m 12 1 1.1 3.8 3.8
B w 8 3 4.5 -5.7 . /*遗漏数据一定要加符号.*/
C m 48 4 -8.2 -8.2 9.7
D w 23 1 1.2 1.2 1.2
E m 26 2 2.5 45 24
;
run;
运行结果见下表:
48
SAS 操作入门 编者:江南大学 吴有炜 49
形式:
data _null_; 注: _null_说明不产生 sas 数据集
⎧input 变量名…变量名;
⎪
⎪(—p˜°DATA步的其它SAS语句; )
⎪
⎨cards; 注:左边为由方法一产生的数据集
⎪[ ” ˜ ]s
⎪
⎪⎩;
亦可由方法二或方法三产生或可以产生数据的其它程
序语句
file‘磁盘名:\文件名’;(或 file’prn’;)注:输出到达的磁盘及文件名或打印
(input 变量名 … 变量名;) 注:这儿表示可以有选择地输(用于 DATA 步的其它 SAS 语
句;) 出数据集的一些列或新变量
run;
例 2.4.1
data _null_;
set E24; /* 注:说明数据用方法三产生*/
file’c:\My documents\DAE24’; /*(或 file’prn’;) 注:将 sas 数据集中 E24 转换成外部文件
DAE24 存在 c 盘 My documents 文件夹中(或打印)*/
49
SAS 操作入门 编者:江南大学 吴有炜 50
3. SAS—Output 窗口的结果输出
⇒ 选择程序[H]…(见下图)
打开方式可有以下几种:
50
SAS 操作入门 编者:江南大学 吴有炜 51
1. SAS 的运算符
** 乘方 =或 EQ 等于 AND 逻辑与
2.sas 函数
(1) 概率分布函数
○
2 PRPBchi(x,自由度,非中心参数) χ2 –分布
○
3 PRPBgam(x,参数) 伽马分布
○
4 PRPBbeta(x,参数 1,参数 2) 贝塔分布
○
5 PRPBf(x,分子自由度,分母自由度,非中心参数) F--分布
51
SAS 操作入门 编者:江南大学 吴有炜 52
(2) 分位数函数
○
1 Probit(p) 满足 F(Probit(p))=P{X< Probit(p)}=p 标准正态分布分位数
○
2 cINV(p,自由度,非中心参数) χ2 –分布分位数
○
3 gamINV (p,参数) 伽马分布分位数
○
4 betaINV (p,参数 1,参数 2) 贝塔分布分位数
○
5 fINV (p,分子自由度,分母自由度,非中心参数) F--分布分位数
○
6 tINV (p, 自由度,非中心参数) t—分布分位数
(3) 样本统计函数
1 n
○
1 均值 mean(ofx1-xn)或 mean(x,y,…)-------=
n
∑x 即x
i =1
i
○
2 最大值 max(ofx1-xn)或 max(x,y,…)
○
3 最小值 min(ofx1-xn)或 min(x,y,…)
○
4 非缺失数据个数 N(ofx1-xn)或 N(x,y,…)
○
5 缺失数据个数 NMISS(ofx1-xn)或 NMISS(x,y,…)
n
○
6 求和 SUM(ofx1-xn)或 SUM(x,y,…)------= ∑x i =1
i
1 n 2
○
7 方差 VAR(ofx1-xn)或 VAR(x,y,…)--------=
n −1
∑ ( xi − x)
i =1
即 s2
○
8 标准差 STD(ofx1-xn)或 STD(x,y,…)------= VAR =s
STD
○
9 标准误 STDERR(ofx1-xn)或 STDERR(x,y,…)------=
n
STD
○
10 变异系数 CV(ofx1-xn)或 CV(x,y,…)------=
x
○
11 极差 RANGE(ofx1-xn)或 RANGE(x,y,…)-------=max-min
○
12 修正平方和(非缺失数据变量关于均值的离差平方和)CSS(ofx1-xn)或 CSS(x,y,…)
52
SAS 操作入门 编者:江南大学 吴有炜 53
n 2
----------------= ∑ ( xi − x)
i =1
∑x
2
○
13 未修正平方和(非缺失数据变量的平方和)USS(ofx1-xn)或 USS(x,y,…)-----= i
i =1
○
14 偏度 SKEWNESS (ofx1-xn)或 SKEWNESS (x,y,…)----
3
n ∑ ( xi − x)
=
(n − 1)(n − 2) s
3
○
15 峰度 KURTOSIS (ofx1-xn)或 KURTOSIS(x,y,…)--------
4
∑ ( xi − x) 3 (n −1)
2
n(n + 1)
= −
(n − 1)(n − 2)(n − 3) s
4
(n − 2)(n − 3)
(4) 随机数函数
随机数函数-------seed 每随意赋一个值可得到给定分布的随机变量抽样值
○
1 均匀分布随机数函数 UNIFORM(seed)或 RANuni(seed)
○
2 标准正态分布随机数函数 normal(seed)或 RANnor(seed) ,
均值为 a 方差为σ2 的正态分布随机数函数
X=a+sqrt(σ2)* RANnor(seed),
这儿,sqrt(x)= x
对数正态分布 Y=exp(X)
○
3 伽马分布随机数函数 RANgam(seed)
○
4 指数分布随机数函数 RANexp(seed)
○
5 三角分布随机数函数 RANtri(seed)
○
6 柯西分布随机数函数 RANcau(seed)
○
7 二项分布随机数函数 RANnml(seed)
○
8 泊松分布随机数函数 RANpoi(seed)
○
9 离散型分布随机数函数 RAN (seed,p1,p2,…pn)
X x1 x2 … xn
P p1 p2 … pn
例 2.5.1
do seed=1 to 100;
x=170+sqrt(30)*rannor(seed); /*x=均值为170,方差为30的正态分布随机
数*/
53
SAS 操作入门 编者:江南大学 吴有炜 54
y=170+sqrt(30)*rannor(seed);/*注意由于是随机数,两组结果不一样,且每
次都不一样*/
output;
end;
proc print; /*在SAS输出窗口给出结果*/
run;
输出结果(部分)如下图:
(5)一般函数
1 x 的绝对值 ABS(x)
○
2 x 的平方根 SQRT(x)
○
3 模运算(m 除以 n 的余数) MON(m,n)
○ 例 mon(63,12)=3
4 符号函数 Sign(x)
○ 例 sign(-6.7)=-1, sign(0)=0, sign(3.8)=1
○
5 取整函数 Int(x) 例 Int(-3.6)=-4, Int(4.8)=4;
○
6 计算误差函数 Erf(x)
7 舍入函数 Round(x,n)
○ 例 Round(37.54362, 2)=37.54
8 数学函数 Exp(x) Log(x) Log2(x)
○ Log10(x) Cos(x) Sin(x) Tan(x) Arcos(x)
Arsin(x) Atan(x)
54
SAS 操作入门 编者:江南大学 吴有炜 55
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
第三章 描述性统计分析
第一节 描述性统计量的定义
1. 表示位置的特征值
1 n
均值 x=
n
∑x
i =1
i
;
55
SAS 操作入门 编者:江南大学 吴有炜 56
2. 表示离散程度的特征值
1
( )
n 2
∑ xi − x
2
方差 s2 = ;标准差 s= s ;
n −1 i =1
s s
变异系数 Cv= ×100% ; 标准误 sm = .
x n
3. 表示分布形状的特征量
n ∑ ( xi − x)
偏度 g1= 研究分布的对称, 正态分布为标准 g2=0;
(n − 1)(n − 2) s
3
4
∑ ( xi − x) 3 (n −1)
2
n(n + 1)
峰度 g2= − 研究两侧极端
(n − 1)(n − 2)(n − 3) s
4
(n − 2)(n − 3)
数据分布,以
第二节 编程进行
1. Means 语句和其它产生描述性统计量语句
(1) Means 语句
形式:
56
SAS 操作入门 编者:江南大学 吴有炜 57
var 被执行分析变量名串;/*被统计的变量*/
by 分组变量名串;/*须先用 proc sort ; by 分组变量名串;通过 by 对变量的值排序(数值递
增字母升序)按序分组,以组为单位求统计量,因而不适用取值中文的变量 例 若有分组变量
名串 sex(分 male、female) month(分 feb、jan)则按 sex 的二种情况: male、female 与 month
的二种情况: feb、jan 的四种交叉组合进行分组统计*/
1 n 2
std---= ∑
n − 1 i =1 ( x i − x)
标准差 min---最小值 max---最大值
57
SAS 操作入门 编者:江南大学 吴有炜 58
proc means data=E31 mean std n max min range stderr cv ;/*各种选项的意义见关键字定义*/
var age height weight;
by group;/*依 group 变量的序分组进行统计*/
output out=oE31 ;
proc print;
run;
Data E31 ;
Input group age height weight sex $ ;
Cards;
2 34 163 46 w
1 43 176 54 m
1 23 158 51 w
1 65 154 45 w
1 35 178 65 m
1 38 166 57 w
2 41 159 67 w
2 17 162 48 w
1 19 173 47 m
2 27 180 75 m
;
proc sort;
by group sex;/*按两个分类变量的水平组合排序*/
proc means data=E31 mean std n max min range stderr cv ;
var age height weight;
by group sex; /*按两个分类变量的每一水平组合为组(共四组)进行统计*/
output out=oE312 ;
proc print; /*将数据集显示在 output 窗口,print 语句缺省则数据集仅存入 work 中而不在 output
窗口显示*/
run;
58
SAS 操作入门 编者:江南大学 吴有炜 59
59
SAS 操作入门 编者:江南大学 吴有炜 60
(2)Summary 语句
Summary 语句形式:
60
SAS 操作入门 编者:江南大学 吴有炜 61
1 43 176 54 m
1 23 158 51 w
1 65 154 45 w
1 35 178 65 m
1 38 166 57 w
2 41 159 67 w
2 17 162 48 w
1 19 173 47 m
2 27 180 75 m
;
proc sort;
by group; /*须先用 proc sort ; by 分组变量名串; by 对变量 group 的值排序(字母升序)*/
proc Summary data=E32 mean std n max min range stderr cv ;
var age height weight;
by group;/*然后 by 依 group 变量的序分组进行统计*/
output out=OE32 ;
proc print; /*将数据集显示在 output 窗口,print 语句缺省则数据集仅存入 work 中而不在 output
窗口显示*/
run;
/*(输出略) */
Data E32 ;
Input group age height weight sex $ ;
Cards;
2 34 163 46 w
1 43 176 54 m
1 23 158 51 w
1 65 154 45 w
1 35 178 65 m
1 38 166 57 w
2 41 159 67 w
2 17 162 48 w
1 19 173 47 m
2 27 180 75 m
;
proc sort;
by group sex;/* 按 两 个 分 类 变 量 的 水 平 组 合 字 母 或 数 值 升 序 排 列 , 序
为:1—m,1—w,2—m.,2--w*/
proc Summary data=E32 mean std n max min range stderr cv ;/*选项选输出的多项统计量*/
var age height weight;
by group sex; /*按两个分类变量的每一水平组合为组(共四组)进行统计*/
output out=oE322 ;
proc print;
run;
/*(输出略)*/
Data E32 ;
Input group age height weight sex $ ;
61
SAS 操作入门 编者:江南大学 吴有炜 62
Cards;
2 34 163 46 w
1 43 176 54 m
1 23 158 51 w
1 65 154 45 w
1 35 178 65 m
1 38 166 57 w
2 41 159 67 w
2 17 162 48 w
1 19 173 47 m
2 27 180 75 m
;
proc sort;
by group ; /*须先用 proc sort ; by 分组变量名串; 对 by 变量的值排序(字母升序)*/
proc Summary data=E32 mean std n max min range stderr cv ;
var age height weight;
class sex; /*由 class 产生三类: 不分 wm(以空白显示)及 w,m */
by group ;/*由 by 产生二类:1,2 以上二行语句分成 6 个水平组合进行统计*/
output out=OE323 ;
proc print;
run;
输出见下表:
62
SAS 操作入门 编者:江南大学 吴有炜 63
(3)Univariate 语句
形式:
var 被执行分析变量名串;/*被统计的变量*/
by 分组变量名串; /*须先用 proc sort ; by 分组变量名串;通过 by 对变量的值排序(数值递
增字母升序)按序分组,以组为单位求统计量,因而不适用取值中文的变量 例 若有分组变量
名串 sex(分 male、female) month(分 feb、jan)则按 sex 的二种情况: male、female 与 month
的二种情况: feb、jan 的四种交叉组合进行分组统计,univariate 没有 class 分组指令*/
freq 观测值重复次数变量名;
weight 权变量名;
id 样本识别变量名串;
100 名学生身高体重指标
data wh1001;
input h w @@;
cards;
172.4 75.0 169.3 54.8 169.3 64.0 171.4 64.8 166.5 47.4 171.4 62.2
168.2 66.9 165.1 52.0 168.8 62.2 167.8 65.0 165.8 62.2 167.8 65.0
164.4 58.7 169.9 57.5 164.9 63.5 160.3 55.2 175.0 66.6 172.5 73.5
172.0 64.0 168.4 57.0 155.0 57.0 175.5 63.9 172.3 69.0 168.6 58.0
176.4 56.9 173.2 57.5 167.5 50.0 169.4 52.2 166.7 72.0 169.5 57.0
165.7 55.4 161.2 48.5 172.8 57.0 175.1 75.5 157.5 50.5 169.8 62.9
168.6 63.4 172.6 61.0 163.8 58.5 165.1 61.5 166.7 52.5 170.9 61.0
166.1 69.5 166.2 62.5 172.4 52.6 172.8 60.0 177.8 63.9 162.7 56.8
168.8 54.0 169.1 66.2 177.5 60.0 177.0 66.2 169.9 55.9 167.4 54.4
169.3 58.4 172.8 72.8 169.8 58.0 160.0 65.3 179.1 62.2 172.3 49.8
163.3 46.5 172.9 66.7 165.4 58.0 175.8 63.2 162.3 52.2 165.4 65.7
171.5 59.3 176.6 66.3 181.7 68.6 175.2 74.9 169.5 59.5 169.6 61.5
169.1 63.1 185.5 77.0 173.9 65.5 162.5 50.0 171.5 58.5 175.6 59.8
63
SAS 操作入门 编者:江南大学 吴有炜 64
166.0 75.5 167.2 63.3 171.9 57.0 176.6 58.4 177.3 67.0 169.2 71.8
166.2 49.8 181.7 63.0 175.8 68.3 172.3 55.5 172.7 58.5 174.3 64.0
171.2 59.0 174.8 68.0 165.4 55.5 169.1 64.8 167.9 62.0 176.8 64.0
183.5 69.9 165.5 48.6 171.0 70.5 170.3 58.5
;
proc univariate freq normal plot;/*选项freq输出变量频数分配表 normal检验样本是否符合
正态分布 plot绘制茎叶图,盒形图,正态概率图*/
var h w;
run;
输出结果树如下:
星号: 以分类变量的所有水平组合为单元格或次分组---------------
B*A 产生
A*B 产生
B1 B2 B3
A1 A2 A1 A2 A1 A2 A1 A2
B1 B2 B3 all B1 B2 B3 all
A*(B ALL)产生(镶嵌)
A1 A2
B1 B2 B3 B1 B2 B3
64
SAS 操作入门 编者:江南大学 吴有炜 65
空格: 分类变量的各组在同一行(或列)上------------------
B C(称为一个向量)产生
B1 B2 C1 C2
括号: 先括号内后括号外-----------------------
A*(B C)(称为一个向量)产生
A1 A2
B1 B2 C1 C2 B1 B2 C1 C2
B* (A C*D) (称为一个向量) 产生
B1 A1 A2 A3 C1 C2
D1 D2 D1 D2
B2 A1 A2 A3 C1 C2
D1 D2 D1 D2
var 单元格响应变量名(数值);
by 分组变量名; ; /*须先用 proc sort ; by 分组变量名串;通过 by 对变量的值排序(数值递
增字母升序)按序分组,以组为单位求统计量,因而不适用取值中文的变量 例 若有分组变量
名串 sex(分 male、female) month(分 feb、jan)则按 sex 的二种情况: male、female 与 month
的二种情况: feb、jan 的四种交叉组合进行分组统计*/
format 变量名串; /*解释分类变量的类别*/
label 变量名串; /*解释分类变量的类别或响应变量的类别*/
table 页向量名, 行向量名, 列向量名, 单元格响应变量名;
(或 table 行向量名, 列向量名, 单元格响应变量名;)
(或 table 列向量名, 单元格响应变量名;)
keylabel 统计量代号=’代号解释’… ;/*例 keylabel all=’所有$’ mean=’均值’ pctsum=’和的
百分比’;*/
65
SAS 操作入门 编者:江南大学 吴有炜 66
tabulate 过程能计算的统计量有:
n---各单元格观察值个数 nmiss---各单元格遗漏数据个数 mean---均值 std---标准差
min---最小值 max---最大值 range---极差 sum---观测值总和 var---变量方差 s2
例 3.2.4
Data E33 ;
Input group $ age height weight sex $ area $;
Cards;
2 34 163 46 女 上海
1 43 176 54 男 上海
1 23 158 51 女 江苏
1 65 154 45 女 上海
1 35 178 65 男 江苏
1 38 166 57 女 上海
2 41 159 67 女 江苏
2 17 162 48 女 江苏
1 19 173 47 男 上海
2 77 180 75 男 上海
1 45 178 67 男 江苏
1 59 157 65 男 上海
2 54 148 46 男 江苏
2 14 135 43 女 上海
1 15 132 39 女 江苏
;
proc format;
value $gmt “1”=’实验组’
“2”=’对照组’; /*参见第二章 format 格式的作用*/
proc tabulate;
class group sex area;
var height weight;
format group $gmt.;
table group,area*sex*(sum mean max min),( height weight );
/*表格构成:页—横轴—纵轴 二页,二个分类变量的四种水平组合的四种统计量(行
向量),二个响应变量(列向量)*/
table group* area * (sum mean max min), sex* height;
/*表格构成: 横轴—纵轴二个分类变量的四种水平组合的四种统计量(行向量),一个分类
变量和一个响应变量(列向量)*/
table group, height*(sum mean max min);
/*表格构成: 横轴—纵轴 一个分类变量的二种水平(行向量),一个响应变量的四种统计量
(列向量)*/
66
SAS 操作入门 编者:江南大学 吴有炜 67
run;
(输出结果略)
形式:
var 被排序数值变量名串;
ranks 名次变量名串;
by 分组变量名串; /*须先用 proc sort ; by 分组变量名串;通过 by 对变量的值排序(数值
递增字母升序)按序分组,以组为单位求统计量,因而不适用取值中文的变量 例 若有分组变
量名串 sex(分 male、female) month(分 feb、jan)则按 sex 的二种情况: male、female 与 month
的二种情况: feb、jan 的四种交叉组合进行分组统计*/
例 3.2.5
67
SAS 操作入门 编者:江南大学 吴有炜 68
七种描述性统计量程序的输出结果表(*表示有该项输出,空白表示无该项输出)
Means Summary univariate chart tabulate corr plot
1 遗漏数据 * * * * *
2 有效数据 n * * * * *
3 加权总和 * * * *
4 平均值 mean * * * * * *
5 总和 sum * * * * * *
6 最大值 max/最小值 min * * * * *
7 极差(全距)range * * * *
8 总(离差)平方和(c)uss * * * *
9 变异数 * * * *
10 标准差 Std Dev * * * * *
11 标准误 stderr * * * *
12 变异系数 cv * * * *
13 偏度 skewness/峰度 kurtosas * *
68
SAS 操作入门 编者:江南大学 吴有炜 69
14 t 检验值/统计显著性 * * * *
15 中数 * *
16 四分位数/众数 *
17 皮尔逊-积差相关系数 *
18Spearman 的等级相关系数 *
19Kendall 的相关系数 *
20Hoeffing 的 D 相关系数 *
21 产生报表输出文件 是 否 是 是 是 是 是
22 产生 SAS 输出文件 是 是 是 否 否 是 是
23 含 Class 指令 是 是 否 否 是 否 否
24 含 By 指令 是 是 是 是 是 是 是
注:clm 总体均值置信区间的上下限; lclm 总体均值置信区间的下限; uclm 总体均值置信区间
的上限; t(t 检验μ=0 的 t 值),prt(t 值的双侧概率); α(1-α置信水平默认为 0.95)
2. FREQ 过程生成频数表
freq 语句形式:
例 3.2.6
69
SAS 操作入门 编者:江南大学 吴有炜 70
100 名学生的体重数据(见程序行)
data wh100;
input h w @@;
if w<=50.3 then wc= ' <=50.3';
else if w>50.3 and w<=54.1 then wc= '50.4-54.1';
else if w>54.1 and w<=57.9 then wc= '54.2-57.9';
else if w>57.9 and w<=61.7 then wc= '58.0-61.7';
else if w>61.7 and w<=65.5 then wc= '61.8-65.5';
else if w>65.5 and w<=69.3 then wc= '65.6-69.3';
else if w>69.3 and w<=73.1 then wc= '69.4-73.1';
else wc= '>=73.2';
wgroup=int((w-46.5)*8/(77-46.5)-0.001)+1;
cards;
172.4 75.0 169.3 54.8 169.3 64.0 171.4 64.8 166.5 47.4 171.4 62.2
168.2 66.9 165.1 52.0 168.8 62.2 167.8 65.0 165.8 62.2 167.8 65.0
164.4 58.7 169.9 57.5 164.9 63.5 160.3 55.2 175.0 66.6 172.5 73.5
172.0 64.0 168.4 57.0 155.0 57.0 175.5 63.9 172.3 69.0 168.6 58.0
176.4 56.9 173.2 57.5 167.5 50.0 169.4 52.2 166.7 72.0 169.5 57.0
165.7 55.4 161.2 48.5 172.8 57.0 175.1 75.5 157.5 50.5 169.8 62.9
168.6 63.4 172.6 61.0 163.8 58.5 165.1 61.5 166.7 52.5 170.9 61.0
166.1 69.5 166.2 62.5 172.4 52.6 172.8 60.0 177.8 63.9 162.7 56.8
168.8 54.0 169.1 66.2 177.5 60.0 177.0 66.2 169.9 55.9 167.4 54.4
169.3 58.4 172.8 72.8 169.8 58.0 160.0 65.3 179.1 62.2 172.3 49.8
163.3 46.5 172.9 66.7 165.4 58.0 175.8 63.2 162.3 52.2 165.4 65.7
171.5 59.3 176.6 66.3 181.7 68.6 175.2 74.9 169.5 59.5 169.6 61.5
169.1 63.1 185.5 77.0 173.9 65.5 162.5 50.0 171.5 58.5 175.6 59.8
166.0 75.5 167.2 63.3 171.9 57.0 176.6 58.4 177.3 67.0 169.2 71.8
166.2 49.8 181.7 63.0 175.8 68.3 172.3 55.5 172.7 58.5 174.3 64.0
171.2 59.0 174.8 68.0 165.4 55.5 169.1 64.8 167.9 62.0 176.8 64.0
183.5 69.9 165.5 48.6 171.0 70.5 170.3 58.5
;
proc print data=wh100;
run;
proc freq data=wh100;
tables wc ; /*或 tables wgroup; */
title '100名学生的体重分为8个组的频数表';
run;
70
SAS 操作入门 编者:江南大学 吴有炜 71
run;
第三节 利用菜单系统
1. 利用分析员系统(Analyst)作频数表等描述性分析
71
SAS 操作入门 编者:江南大学 吴有炜 72
若 ⇒ Frequency Counts… ( 频 数 ) ⇒ ( 选 择 变 量 名 ) ⇒
Frequencies ⇒ (OK)
2. 利用 SAS/INSIGHT 数据探索性分析系统作描述性分析
Solution↓ ⇒ Analysis↓
⇒ Interactive Data Analysis…(SAS/INSIGHT 数据探索性分析系统) ⇒
(在 Library 中) work ⇒ 在 Data Set 选中所要数据名: 这儿采用第八章第一节例
72
SAS 操作入门 编者:江南大学 吴有炜 73
Histogram/BarChart[Y] 直方图/盒形图
BoxPlot/MosaicPlot[Y] (Y)盒形图/(Y,X)散点图
Line Plot(Y,X) 折线图
Scatter Plot(Y,X) 散点图
Contour Plot(Z,Y,X) 等高线
Rotating(Z,Y,X) 三维散点图
Distribution(Y) 输出: 有效数据,(加权)和,均值,max,min,range,变异(系)数,标
准差,分位数,偏度,峰度,直方图
Fit(Y,X) 散点图,线性回归(包括检验)
Multivariate (Y,X) 多元分析:描述性统计量,相关阵,协方差阵,主成份分析析,因
子分析,典型相关分析
(1) 讨论数据的分布
........:
⇒ Distribution (Y)对话窗口
73
SAS 操作入门 编者:江南大学 吴有炜 74
(2) 作直方图
....:
74
SAS 操作入门 编者:江南大学 吴有炜 75
(3) 作分组数据的盒形图
.........
⇒ OK 盒形图如下:
点击图左下角小三角可有作图多个选项,“盒子”的上下底差为内四分位间距 Q75-Q25,上
下方两条端线为样本的 75%分位数 Q75 与 25%分位数 Q25,50%的数据带在这个区间内. 盒内
的水平粗线为样本中位数 Q50,若它不在盒子中央则说明样本存在一定偏度. 盒内红色细线
为样本均值. 称值>Q75*1.5 或<Q25*1.5 的观测数据为奇异数据(倍数为三倍时称为极值数
据)”·”是奇异数据记号. 除奇异数据外的数据称为本体数据,盒形体上下方的延伸线端为
本体数据最大小值
75
SAS 操作入门 编者:江南大学 吴有炜 76
例 3.3.1
(设已有 sas 数据集 E34)
data E34;
input w @@;
cards;
75.0 64.0 47.4 66.9 62.2 62.2 58.7 63.5
66.6 64.0 57.0 69.0 56.9 50.0 72.0
;
run;
76
SAS 操作入门 编者:江南大学 吴有炜 77
第四节 统计图
统计图主要可由以下三种方法获得:
1.条形图
用等宽条形的长短表示相互独立数据的各指标的数值大小.
例3.4.1 单式条形图-----每种品牌地板磨损量均值图
⇒ 左上角 File ⇒ Open By Sas Name… ⇒ (在 Make one selection 下 ) work ( 点击被选中数
77
SAS 操作入门 编者:江南大学 吴有炜 78
ANOVA… ⇒
Independent 填分类变量 brand,Dependent 因变量(响应变量)填 wear ⇒
Plots ⇔ ⇒ 在 Types of plots 对话窗口中选择×Means plot ⇒ OK ⇒ OK
输出见下图
78
SAS 操作入门 编者:江南大学 吴有炜 79
2. 直方图
直方图是以一组无间隔的直条图表示频数或频率分布的统计图
例 3.4.2 频数直方图-----每种品牌地板磨损量频数直方图
⇒ 左上角 File ⇒ Open By Sas Name… ⇒ (在 Make one selection 下 ) work ( 点击被选
中数据名 Data veneer) ⇒ (OK) ⇒ Graphs ↓ ⇒ Bar Chart ( 频数图) ⇒ Vertical…
79
SAS 操作入门 编者:江南大学 吴有炜 80
例 3.4.3 频率直方图-----每种品牌地板磨损量频率直方图
⇒ 左上角 File ⇒ Open By Sas Name… ⇒ (在 Make one selection 下 ) work ( 点击被选
中 数 据 名 Data veneer) ⇒ (OK) ⇒ Graphs ↓ ⇒ Histogram… ( 频 率 图 ) ⇒ 在
Histogram 对话窗口中因变量 wear→ Anaysis (若分类变量 brand→ Class (每
个品牌的频率直方图各一张,无此项选择则不区分品牌) ⇒ OK
对话窗口及输出见下两图
80
SAS 操作入门 编者:江南大学 吴有炜 81
3. 圆饼图
以分割的圆面积表示各部分与总体的比例关系
例 3.4.4 各品牌样品数的饼形图及磨损量饼形图
⇒ 左上角 File ⇒ Open By Sas Name… ⇒ (在 Make one selection 下 ) work ( 点击被选
中数据名 Data veneer) ⇒ (OK) ⇒ Graphs↓ ⇒ Pie Chart… ⇒ 在 Pie Chart 对话窗
口 , 若 分 类 变 量 brand→Chart 则 生 成 各 品 牌 样 品 数 的 饼 形 图 , 若 响 应 变 量
81
SAS 操作入门 编者:江南大学 吴有炜 82
以下为对话窗及两种饼形图
82
SAS 操作入门 编者:江南大学 吴有炜 83
4. 盒形图
主要反映变量的分位数
例 3.4.5 数据 Data Veneer1 的盒形图
Solution↓ ⇒ Analysis↓ ⇒ Analyst↓ (分析员系统) (出现空白数据表)
⇒ 左上角 File ⇒ Open By Sas Name… ⇒ (在 Make one selection 下 ) work ( 点击被选
中数据名 Data veneer1) ⇒ (OK) ⇒ Graphs↓ ⇒ Box Plot… ⇒ 在 Box Plot 对话窗口
83
SAS 操作入门 编者:江南大学 吴有炜 84
⇒ OK 盒形图如下:
点击图左下角小三角可有作图多个选项,“盒子”的上下底差为内四分位间距 Q75-Q25,上
下方两条端线为样本的 75%分位数 Q75 与 25%分位数 Q25,50%的数据带在这个区间内. 盒内
的水平粗线为样本中位数 Q50,若它不在盒子中央则说明样本存在一定偏度. 盒内红色细线
为样本均值. 称值>Q75*1.5 或<Q25*1.5 的观测数据为奇异数据(倍数为三倍时称为极值数
据)”·”是奇异数据记号. 除奇异数据外的数据称为本体数据,盒形体上下方的延伸线端为
本体数据最大小值
84
SAS 操作入门 编者:江南大学 吴有炜 85
5. 散点图
反映变量间的相关情况,可对回归曲线有初步印象
⇒ 左上角 File ⇒ Open By Sas Name… ⇒ (在 Make one selection 下 ) work ( 点击被选
中数据名 Data veneer1) ⇒ (OK) ⇒ Graphs↓ ⇒ Scatter Plot ⇒ 在 Scatter Plot 对话
85
SAS 操作入门 编者:江南大学 吴有炜 86
另外还可作三维散点图
6. 折线图
反映变量间的相关情况,可对回归曲线有初步印象
对话窗及折线图如下:
86
SAS 操作入门 编者:江南大学 吴有炜 87
7.(回归)曲线图
87
SAS 操作入门 编者:江南大学 吴有炜 88
88
SAS 操作入门 编者:江南大学 吴有炜 89
8. 等值线图
⇒ 左上角 File ⇒ Open By Sas Name… ⇒ (在 Make one selection 下 ) work ( 点击被选
中数据名 Data F62) ⇒ (OK) ⇒ Graphs↓ ⇒ Contour Plot… ⇒ 在 Surface Plot 对话
89
SAS 操作入门 编者:江南大学 吴有炜 90
9. 三维曲面图
(1) 利用菜单系统
⇒ 左上角 File ⇒ Open By Sas Name… ⇒ (在 Make one selection 下 ) work ( 点击被选
中数据名 Data E62) ⇒ (OK) ⇒ Graphs↓ ⇒ Surface Plot ⇒ 在 Surface Plot 对话窗
口中自变量 x2→ Y Axis (纵轴),自变量 x1→ X Axis (横轴), 因变量 y1→ Z Axis
(竖轴) ⇒ OK
对话窗及输出图如下:
90
SAS 操作入门 编者:江南大学 吴有炜 91
(2) 编程序作三维曲面图
也可从回归方程作响应面,在对数据集E62进行响应面回归(Rsreg)后得回归方程(固定水平x3=0,
本例自变量均已经编码处理)
2 2
y1=37.9-0.5625x1-0.6x2-2.875x1 -3.575x1x2-3.45x2
SAS 程序如下:
Data E62G ;
91
SAS 操作入门 编者:江南大学 吴有炜 92
Y1=37.9-0.5625*x1-0.6*x2-2.875*x1**2-3.575*x1*x2-3.45*x2**2;
Output;
End;
End;
Proc print;
Run; /*以上为由回归方程建立作图数据集*/
/*以下作响应面图,先光滑数据,再作三维图*/
92
SAS 操作入门 编者:江南大学 吴有炜 93
习题三
93
SAS 操作入门 编者:江南大学 吴有炜 94
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
第四章 参数估计和假设检验
统计意义: 参数估计通过总体的一组数据来估计总体的特征值(参数)主要是均值和
方差.
第一节 单个总体均值和方差的检验
94
SAS 操作入门 编者:江南大学 吴有炜 95
1. 单个总体均值和方差的区间估计
注求参数的置信区间和对参数进行假设检验是等价的,在’’分析员应用’’中将置信区间
计算作为假设检验的特殊情况只需填入参数检验的零假设值即可.
(1)求均值 a 的区间估计
One Sample t—test for a Mean… ⇒ one-Sample t-test for a Mean: (Norm 待分析数
据名)窗口(单总体均值检验)
95
SAS 操作入门 编者:江南大学 吴有炜 96
待分析变量 x→Variable
(在 Hypothesis 框注意区间估计时框 零假设 Null: 填 Mean=0 ,而假设检验时则
应填入零假设值; 区间估计时 备择假设 Alternate(选择)Mean^=0 而假设检验时
则应根据双侧或单侧检验作相应选择) ⇒
⇒ OK
输出结果如下:
Std .Dev
均值的 95%显著水平的置信区间为:Mean±1.96× = Mean±1.96×Std.Error 即
n
由于 P 值<0.0001 故拒绝零假设
96
SAS 操作入门 编者:江南大学 吴有炜 97
97
SAS 操作入门 编者:江南大学 吴有炜 98
2. 单个总体均值和方差的检验
(1)均值 a 的假设检验
98
SAS 操作入门 编者:江南大学 吴有炜 99
平) ⇒ OK ⇒ OK
输出结果如下(由于 Prob=0.3709>0.05 故接受零假设: x 的均值=170)
由于 Prob=0.1805>0.05 故
接受零假设
即 方 差 σ 2=30, 方 差 的
95%显著水平的置信区间
为
[18.861 33.017]
99
SAS 操作入门 编者:江南大学 吴有炜 100
第二节 两组均值比较
1. 两个独立总体均值差的检验
(1) 用菜单系统比较两个独立总体均值差的参数检验
Std .Dev
间为 Mean 差±1.96× = Mean 差±1.96×Std.Error 即[-1.02 1.87]
n
100
SAS 操作入门 编者:江南大学 吴有炜 101
总体的分布可以未知
例 4.2.1
分类变量 group-----溃疡(病人)、正常(人),
T---检验程序形式:
Var 被执行分析变量名串;
By 分组变量名; /*须先用 proc sort ; by 分组变量名串;通过 by 对变量的值排序(数值递增
字母升序)按序分组,以组为单位求统计量,因而不适用取值中文的变量 例 若有分组变量名
串 sex(分 male、female) month(分 feb、jan)则按 sex 的二种情况: male、female 与 month
的二种情况: feb、jan 的四种交叉组合进行分组统计*/
101
SAS 操作入门 编者:江南大学 吴有炜 102
例 4.2.2
下面为男,女身体脂肪含量数据(%)
男 13.3 女 22 男 19 女 26 男 20 女 16 男 8 男 18 女 12 男 22 男 20 女 30
女 21.7 男 31 男 21 女 23.2 男 16 男 12 男 24 女 21 女 28 女 23
程序
Data Bodyfat;
Input sex $ fatpct @@;
Cards;
男 13.3 女 22 男 19 女 26 男 20 女 16 男 8 男 18 女 12 男 22 男 20 女 30
女 21.7 男 31 男 21 男 12 女 23.2 男 16 男 12 男 24 女 21 女 28 女 23
; /* 注(中文)字符变量和数值变量之间必须有空格*/
run;
/*方法一: 编程进行*/
proc print data=bodyfat;
title ’参加体型锻炼的男女体脂’; /* 打印标题*/
proc means data=bodyfat;
class sex; /*由于 sex 变量的值是中文(无法排序)故需分组时不能用需
要先排序的 by 语句只能用 class 语句进行分组*/
var fatpct;
run;
proc chart data=bodyfat; /*作图程序*/
vbar fatpct/group=sex; /* vbar 直方块变量…/ group=…(按…分组)*/
title ’参加体型锻炼的男女体脂’;
run;
proc ttest data=bodyfat; /* T—检验: H0:μm=μw ,H1:μm≠μw*/
class sex;
var fatpct;
title ’参加体型锻炼的男女体脂’;
run;
proc chart data=bodyfat;
vbar fatpct/group=sex;
title ’参加体型锻炼的男女体脂’;
run;
proc ttest data=bodyfat;
class sex;
var fatpct;
title ’参加体型锻炼的男女体脂’;
run;
/*以下将上例改用先用 format 语句将无序中文字符”男、女”转换成有序英文字
符”male、female”然后用 proc sort…by…语句排序分组*/
102
SAS 操作入门 编者:江南大学 吴有炜 103
Proc format;
Value $sexfmt '男'='male' '女'='female';
Data Bodyfat;
Input sex $ fatpct @@;
Format sex sexfmt.;/* 用 format 语句将”男、女”转换成”male、female”*/
Cards;
男 13.3 女 22 男 19 女 26 男 20 女 16 男 8 男 18 女 12 男 22 男 20 女 30
女 21.7 男 31 男 21 男 12 女 23.2 男 16 男 12 男 24 女 21 女 28 女 23
;
run;
103
SAS 操作入门 编者:江南大学 吴有炜 104
输出结果见下表(部分):
上表第一部分给出男女二组的均值、标准差、标准误的估计及置信上、下限,第二部分指出
无论方差的齐性成立与否零假设(两组均值无显著差异)均成立(P 值分别=0.1031 与
0.098>0.05) 第 三 部 分 则 指 出 方 差 齐 性 成 立 (P 值 =0.7182>0.05 支 持 Equality of
Variances)
2. 成对数据组均值差的检验
成对数据组中每对数据都是发生在一个观察体的两次观测数据,欲检验前后两次均值
有无差异
例 4.2.3
data Test;
input student exam1 exam2 @@;
104
SAS 操作入门 编者:江南大学 吴有炜 105
cards;
1 93 98 2 88 74 3 89 67 4 88 92 5 67 83 6 89 90 7 83 74
8 94 97 9 89 96 10 55 81 11 88 83 12 91 94 13 85 89 14
70 78
15 90 96 16 90 93 17 94 81 18 67 81 19 87 93 20 83 91
;
run;
(1)方法 1 编程进行
data Test;
input student exam1 exam2 @@;
scordiff = exam2 - exam1; /*便于处理均值差*/
cards;
1 93 98 2 88 74 3 89 67 4 88 92 5 67 83 6 89 90 7 83 74
8 94 97 9 89 96 10 55 81 11 88 83 12 91 94 13 85 89 14 70 78
15 90 96 16 90 93 17 94 81 18 67 81 19 87 93 20 83 91
;
从表中看出差异的概率值P=0.3116>0.05故接受零假设即两次考的难度无显著差异
105
SAS 操作入门 编者:江南大学 吴有炜 106
(2)方法 2 利用分析员菜单系统
第三节 正态性检验
1. 利用 Univariate 过程对一组数据进行正态性检验
106
SAS 操作入门 编者:江南大学 吴有炜 107
2. 利用 SAS/INSIGHT 数据探索性分析系统
⇒ Analyze ↓
⇒ Distribution(Y) ⇒ ( 待分析
变量 x→)Y ⇒ Output ⇒
若在相应的 内打钩
则丰富的输出结果如下:
Moments 矩统计量表
Quanriles 分位表
Basic Confidence Intervals 置信
区间
Tests for Location ( 三 种 检 验 :
t—检验, 符号检验, 秩检验)
Frequency Counts 频数表
Robust Measures of Scale
Tests for Normality 正态性检验
(四种方法)
例 4.4.1
data wh100;
input h w @@;
if w<=50.3 then wc= ' <=50.3';
else if w>50.3 and w<=54.1 then wc= '50.4-54.1'; /*wc为区间变量*/
else if w>54.1 and w<=57.9 then wc= '54.2-57.9';
else if w>57.9 and w<=61.7 then wc= '58.0-61.7';
else if w>61.7 and w<=65.5 then wc= '61.8-65.5';
else if w>65.5 and w<=69.3 then wc= '65.6-69.3';
else if w>69.3 and w<=73.1 then wc= '69.4-73.1';
else wc= '>=73.2';
107
SAS 操作入门 编者:江南大学 吴有炜 108
wgroup=int((w-46.5)*8/(77-46.5)-0.001)+1;
cards;
172.4 75.0 169.3 54.8 169.3 64.0 171.4 64.8 166.5 47.4 171.4 62.2
168.2 66.9 165.1 52.0 168.8 62.2 167.8 65.0 165.8 62.2 167.8 65.0
164.4 58.7 169.9 57.5 164.9 63.5 160.3 55.2 175.0 66.6 172.5 73.5
172.0 64.0 168.4 57.0 155.0 57.0 175.5 63.9 172.3 69.0 168.6 58.0
176.4 56.9 173.2 57.5 167.5 50.0 169.4 52.2 166.7 72.0 169.5 57.0
165.7 55.4 161.2 48.5 172.8 57.0 175.1 75.5 157.5 50.5 169.8 62.9
168.6 63.4 172.6 61.0 163.8 58.5 165.1 61.5 166.7 52.5 170.9 61.0
166.1 69.5 166.2 62.5 172.4 52.6 172.8 60.0 177.8 63.9 162.7 56.8
168.8 54.0 169.1 66.2 177.5 60.0 177.0 66.2 169.9 55.9 167.4 54.4
169.3 58.4 172.8 72.8 169.8 58.0 160.0 65.3 179.1 62.2 172.3 49.8
163.3 46.5 172.9 66.7 165.4 58.0 175.8 63.2 162.3 52.2 165.4 65.7
171.5 59.3 176.6 66.3 181.7 68.6 175.2 74.9 169.5 59.5 169.6 61.5
169.1 63.1 185.5 77.0 173.9 65.5 162.5 50.0 171.5 58.5 175.6 59.8
166.0 75.5 167.2 63.3 171.9 57.0 176.6 58.4 177.3 67.0 169.2 71.8
166.2 49.8 181.7 63.0 175.8 68.3 172.3 55.5 172.7 58.5 174.3 64.0
171.2 59.0 174.8 68.0 165.4 55.5 169.1 64.8 167.9 62.0 176.8 64.0
183.5 69.9 165.5 48.6 171.0 70.5 170.3 58.5
;
proc print data=wh100;
run;
proc freq data=wh100;
tables wc ; /* 或 tables wgroup; */
title '100名学生的体重分为8个组的频数表';
run;
108
SAS 操作入门 编者:江南大学 吴有炜 109
var y;
title’检验学生体重的均值μ=62kg及求均值μy的置信区间’
run;
proc univariate data=wh100 normal;
/*该程序执行后输出详细的描述性统计量(并自动进行Wilcoxcon秩和检验)还有正
态性/*
var w;
title '100名学生体重数据的正态性检验';
run;
(输出结果略)
习题四
试对该组数据
化疗前蛋白质含量(Alb mg/L):
3.3 11.7 9.4 6.8 2.0 3.1 5.3 3.7 21.8 17.6
化疗后蛋白质含量(Alb mg/L)
33.0 30.8 8.8 11.4 42.6 5.8 1.6 19.0 22.4 30.2
(1) 试概括化疗前后的蛋白质含量;
(2) 试用直方图概括化疗前后的蛋白质含量;
(3) 试分析化疗对蛋白质含量(成对数据)是否有显著的影响(α=0.05)?
109
SAS 操作入门 编者:江南大学 吴有炜 110
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
第五章 方差分析与协方差分析
统计意义:
方差分析研究分类变量作为自变量(取不同水平或多个分类变量取不同水平组合)对指
标(响应变量)的影响,当自变量中还伴随不可控连续变量时则称为协方差分析
通过将数据(因变量)的总波动(总离差平方和)分解成各考察因素(分类变量作为自变量)(也
可包括因素间交互)的波动(各因素的离差平方和)相对于随机因素等引起的波动(误差的离
差平方和)来判断各因素取不同水平(也可包括因素的交互取不同水平组合)对指标的影响的
显著程度.
各水平组数据样本量相同的称数据是均衡的(可用 ANOVA 程序,各水平组还应满足方差齐
性假设否则可调用 NPAR1WAY 进行作用相同的非参数 Kruskal—Wallis 检验),反之称为非
均衡的(只能用 GLM 程序)
方差分析(以及在回归分析中对模型及回归项)的显著性讨论只适合关于参数的线性模型
110
SAS 操作入门 编者:江南大学 吴有炜 111
第一节 编程序进行
Means 效应名串/选项串名;
/*给出效应名串中各组或单元格的均值 效应名串选项主要为对主效应的均值间
执行各种显著性检验包括: DUNCAN---多范围检验 DUNNETT (‘控制组
名’)-----选定一控制组和其余组差的双侧检验
DUNNETTL (‘控制组名’)-----选定一控制组和其余组差的单(下)侧检验(预期差>0)
DUNNETTU (‘控制组名’)-----选定一控制组和其余组差的单(上)侧检验(预期差<0)
LINES---对分析结果按显著性程度由大到小排列
CLDIFF---显著性检验结果以置信区间形式给出
CLM---means 中的各效应的均值以置信区间形式给出*/
Freq 试验重复次数变量名;
Repeated 重复变量名;
111
SAS 操作入门 编者:江南大学 吴有炜 112
效 应 名 串 例 : A B A*B--- 考 虑 A B 两 个 主 效 应 及 A 与 B 的 交 互 效 应
A│B│C│D@2---考虑 A、B、C、D 的二重交互作用(共 6 个)
DUNNETTL (‘控制组名’)-----选定一控制组和其余组差的单(下)侧检验(预期差>0)
DUNNETTU (‘控制组名’)-----选定一控制组和其余组差的单(上)侧检验(预期差<0)
SIDAK---两组均值比较的 t-检验
Alpha=显著程度值(默认 0.05)
LINES---对分析结果按显著性程度由大到小排列
CLDIFF---显著性检验结果以置信区间形式给出
CLM---means 中的各效应的均值以置信区间形式给出*/
选项串包括: STDERR---t-检验(H0:Lsm=0)的分母及其显著性
TDIFF---各均值对比较的 t-值及显著性
OUT=输出文件名
COV---在 OUT=的输出中增加协方差阵*/
L95M=因变量均值 95%置信区间下限
U95M=---因变量均值 95%置信区间上限
L95=因变量预测值 95%置信区间下限
Stdp=预测值均值的标准误差 Student=---经过标准化的误差
112
SAS 操作入门 编者:江南大学 吴有炜 113
Press=---除去一个观测样本后所求该样本的预测误差
Rstudent=---除去一个观测样本后所求该样本的标准化误差*/
By 分组变量名串;
/*须先用 proc sort ; by 分组变量名串; 对 by 变量的值排序(字母升序),以组为单
位求统计量 例 若有分组变量名串 sex(分 female、male) school(分重点、非重点)则按
sex 的二种情况:女、男与 school 的二种情况:重点、非重点的四种交叉组合进行排序分
组*/
Id 识别样本变量名; /*适用于回归分析*/
Freq 试验重复次数变量名;
Repeated 重复变量名;
1. 单因素方差分析
分析比较五种牌子的合成地板的耐磨性(数据见程序中)
(1) 概括性比较:
○
1 比较各组的常规统计量-------SORT 和 MEANS 过程
○
2 比较各组的直观图形-----CHART 过程
例 5.1.1
data veneer1;
input brand $ wear @@;
cards;
ACME 2.3 ACME 2.1 ACME 2.4 ACME 2.5 CHAMP 2.2
CHAMP 2.3 CHAMP 2.4 CHAMP 2.6 AJAX 2.2 AJAX 2.0
AJAX 1.9 AJAX 2.1 TUFFY 2.4 TUFFY 2.7 TUFFY 2.6
TUFFY 2.7 XTRA 2.3 XTRA 2.5 XTRA 2.3 XTRA 2.4
;
proc print data=veneer1;
title '木板数据';
run;
proc sort data=veneer1;
by brand; /*利用SORT过程对地板按(by)品牌按字母升序分组(特别组内数据>30时)概括*/
run;
proc means data=veneer1;
by brand;/*此指令需先经”proc sort; by 变量名串;”排序(见前面命令),然后分组统计*/
113
SAS 操作入门 编者:江南大学 吴有炜 114
var wear;
title '木板数据的概括';
run;
proc chart data=veneer1;
vbar wear / group=brand; /*按组作直方图*/
title '各种品牌的磨损量';
run;
输出结果如下(部分):
下表为每个品牌的简单统计量:
下图为各品牌的平均磨损的频数直方图(磨损量数字竖看)
114
SAS 操作入门 编者:江南大学 吴有炜 115
(2) 单因素方差分析
例 5.1.2
115
SAS 操作入门 编者:江南大学 吴有炜 116
在方差分析中零假设为各主效应及交互效应为零,由上表见P值=0.0017故接受对立假设模型
高度显著即品牌对因变量wear的作用影响高度显著. 输出表中还有大量不同水平间均值的对
比.
(3) 单因素协方差分析(有一个协变量)
例 5.1.3
猪体重增长数据
x 15 13 11 12 12 16 14 17
A1
y 85 83 65 76 80 91 84 90
x 17 16 18 18 21 22 19 18
A2
y 97 90 100 95 103 106 99 94
x 22 24 20 23 25 27 30 32
A3
y 89 91 83 95 100 102 105 110
data pig;
input a $ @; /* 输 入 字 符 变 量 A+ 数 组 @(do---end 语 句 实 际 给 出 @ 相 当 于
x1y1x2y2…x8y8)*/
do i=1 to 8;
input x @; /* 用 input x @; input y @;输入向量(x,y) */
input y @;
output;
end;
cards;
A1 15 85 13 83 11 65 12 76 12 80 16 91 14 84 17 90
A2 17 97 16 90 18 100 18 95 21 103 22 106 19 99 18 94
A3 22 89 24 91 20 83 23 95 25 100 27 102 30 105 32 110
;
proc glm data=pig;
class a ;
model y=a x/solution; /* 模型: 连续(响应)变量 y=分类变量 a ,协变量 x(用/solution 表示) */
lsmeans a/stderr tdiff pdiff; /*用最小误差平方和法估计的均值估计 a(称为修正均值)
116
SAS 操作入门 编者:江南大学 吴有炜 117
/*注:以上数据输入还可用以下方法:
方法二:用二个 do---end 语句输入二个下标的二维向量(x,y)ai
(a=1,2,3;i=1-8) (下标: 单因素+重复)*/
data pig1;
do A=1 to 3; /* 注:1)顺序(外层 ⇒ 内层): 行 ⇒ 重复 ⇒ 向量*/
do rep=1 to 8; /* 2)向量(x,y)的输入: input x @; input y @;*/
input y @;
input x @;
output;
end;
end;
cards;
15 85 13 83 11 65 12 76 12 80 16 91 14 84 17 90
17 97 16 90 18 100 18 95 21 103 22 106 19 99 18 94
22 89 24 91 20 83 23 95 25 100 27 102 30 105 32 110
;
run;
输出结果(部分)如下
117
SAS 操作入门 编者:江南大学 吴有炜 118
协方差分析表
方差来源 平方和 自由度 均方 F Pr>F
协变量 X 1010. 76 1 1010. 76 88. 8* * 0. 0001
因素 A 707. 218 2 353. 609 31. 07* * 0. 0001
误差 227. 615 20 11. 381
118
SAS 操作入门 编者:江南大学 吴有炜 119
总和 23
由于方差分析的零假设为因素及协变量效应为零 P 值都<0.0 01,因而协变量 X 和因
素 A 的作用都是高度显著的.
从修正均值的表中看出扣除猪的初始重量后,第二种饲料的平均增重是 99. 5 仍
是最大,第一种饲料的平均增重是 94. 96 次之,第三种饲料的增重是 82. 17. 当考虑到饲料
价格因素时,这种修正的增重更有用处.不过表中指出由于内积矩阵奇异故回归的参数不唯
一.
2. 两因素方差分析
(1) 两因素考虑交互作用
例 5.1.4
表 火箭的射程
推进器(M) M1 M2 M3
58. 2 56. 2 65. 3
F1
52. 6 41. 2 60. 8
49. 1 54. 1 51. 6
F2
42. 8 50. 5 48. 4
燃料(F)
60. 1 70. 9 39. 2
F3
58. 3 73. 2 40. 7
75. 8 58. 2 48. 7
F4
71. 5 51. 0 41. 4
119
SAS 操作入门 编者:江南大学 吴有炜 120
从此表可见:f(燃料)对应的概率在 0. 01 与 0. 05 之间,说明燃料的作用显著,交互效
应 f*m 对应的概率小于 0. 01 说明推进器及推进器与燃料的交互作用的影响高度显著. 另由
yij 的表可见,最远的射程是由第四种燃料与第一种推进器组合形成的,平均射程为 73. 65
公里.
(2) 两因素考虑交互作用且有一个协变量
例 5.1.5
表 合成纤维弹性
A1 A2 A3 A4
x 49. 0 49. 2 49. 8 49. 8 49. 9 49. 8 49. 7 49. 8
B1
y 71 73 73 75 76 73 75 73
x 49. 5 49. 3 49. 9 49. 8 50. 2 50. 1 49. 4 49. 4
B2
y 72 73 76 74 79 77 73 72
x 49. 7 19. 5 50. 1 50. 0 49. 7 50. 0 49. 5 49. 6
B3
y 75 73 78 77 74 75 70 71
x 49. 7 49. 7 49. 6 49. 3 49. 5 49. 2 49. 0 48. 9
B4
y 77 75 74 74 74 73 69 69
程序
data fab;
do b = 1 to 4;
do a = 1to 4;
维向量(x,y)bar*/
input x @ ; /*(b=1-4;a=1-3;r=1,2)(下标: 两因素+重复)顺序(外层
⇒ 内层):*/
input y @; /*行(b=1-4) ⇒ 列(a=1-4) ⇒ 重复(r=1-2) ⇒ 向量(x,y)*/
output;
end;
120
SAS 操作入门 编者:江南大学 吴有炜 121
end;
end;
cards;
49.0 71 49.2 73 49.8 73 49.8 75 49.9 76 49.8 73 49.7 75 49.8 73
49.5 72 49.3 73 49.9 76 49.8 74 50.2 79 50.1 77 49.4 73 49.4 72
49.7 75 49.5 73 50.1 78 50.0 77 49.7 74 50.0 75 49.5 70 49.6 71
49.9 77 49.7 75 49.6 74 49.3 74 49.5 74 49.2 73 49.0 69 48.9 69
;
proc glm;
class a b ;
model y= a b a * b x /solution;
lsmeans a b a * b;
means a b a * b ;
run;
第二节 用菜单系统进行
1. 利用分析员应用系统进行单因素方差分析
例 5.2.1
数据 Data veneer(地板品牌对磨损量)
121
SAS 操作入门 编者:江南大学 吴有炜 122
盒形图简介:
3. 利用分析员应用系统进行多因素方差分析
例 5.2.2
数据 Data rockey
122
SAS 操作入门 编者:江南大学 吴有炜 123
123
SAS 操作入门 编者:江南大学 吴有炜 124
例 5.2.3 多因素
本例数据 Data Q146 先运行 Data Q146
data Q146;
input number $ A B C D E y;
A2=A*A; B2=B*B;
C2=C*C; D2=D*D; E2=E*E;
cards;
1 1 1 1 1 1 943.44
2 1 2 2 2 2 975.06
3 1 3 3 3 3 1003.4
4 2 1 1 2 2 906.22
5 2 2 2 3 3 939.53
6 2 3 3 1 1 1085.15
7 3 1 2 1 3 957.09
8 3 2 3 2 1 1068.76
124
SAS 操作入门 编者:江南大学 吴有炜 125
9 3 3 1 3 2 909.76
10 1 1 3 3 2 1016.49
11 1 2 1 1 3 899.22
12 1 3 2 2 1 1010.61
13 2 1 2 3 1 985.85
14 2 2 3 1 2 1047.52
15 2 3 1 2 3 895.85
16 3 1 3 2 3 1003.98
17 3 2 1 3 1 928.74
18 3 3 2 1 2 997.38
;
proc print;
run;
要求分析五个因素(三水平取自正交表 L18(16×36))的线性项和平方项的影响
Solution↓ ⇒ Analysis ↓ ⇒ Analyst↓ (“分析员应用”)
1 (出现空白数据表)录入数据 ⇒ File ⇒ Save ,
○
2 或调用已有数据: ⇒ File ⇒ Open By Sas Name…
○
⇒ (在 Make one selection 窗口中) work 选中数据名 Q146 ⇒ (OK)
125
SAS 操作入门 编者:江南大学 吴有炜 126
习题五
5—1 以下是三个地区家庭人口数的抽样调查数据:
甲地 2 6 4 13 5 8 4 6
乙地 6 4 4 1 8 2 12 1 5 2
丙地 2 1 3 3 1 7 1 4 2
试用方差分析(ANOVA)过程或”分析员应用”分析三个地区的家庭人口平均数是否有显著差异(α=0.05)
5---2 在对比研究中观察正常人、萎缩性胃炎和胃癌三个不同群体(TYPE=A,B,C
表示)记录数据见下表.试用编程方法或”分析员应用”分析该组数据,并回答以下问题:
(1) 检验三个群体中CEA含量的分布是否为正态分布,方差是否相等(α=0.01)?
(2) 试用方差分析过程比较这三个群体CEA含量是否有显著差异(α=0.05)?若有
显著差异,请指出哪些群体间CEA的平均含量有显著差异?
胃液癌胚抗原(CEA)含量X(mg/ml)表
正 20.4 265.3 170.5 28.5 57.0 64.6 30.2 175.0 360.0 108.5 189.6
常 87.3 210.4 169.8 78.4 472.5 59.3 365.0 356.4 86.4 158.6 259.3
人 56.8 254.0 128.0 238.7 380.2 37.8 262.3 24.1 253.6 210.5
(A)
萎缩 281.0 766.2 66.8 425.7 584.1 587.7 377.1 495.0 521.3 270.8
性胃 648.8
炎 86.8 230.0 87.3 327.8 378.5 485.6 532.1 537.9 389.8 421.4
(B) 228.0 110.8
311.6 248.7 423.9 149.7 538.7 398.7 442.2 571.4 577.3 47.5
126
SAS 操作入门 编者:江南大学 吴有炜 127
245.6 452.6
胃 480.0 725.6 600.0 608.4 348.6 488.9 590.0 1380.0 688.5 550.0
癌 350.7 765.0 438.5 630.5 640.0 652.8 1200.0 652.4 750.0 464.8
(C) 1400.0 231.2 432.8 815.0 850.0 485.3 296.1 664.0
5---3 水稻试验问题数据见下表:
B1 B2 B3 B4
(无肥) (低肥) (中肥) (高肥)
A1(窄叶青) 19.3 19.2 24.0 27.3 26.0 28.5 27.8 28.5
A2(珍珠矮) 27.8 28.5 27.5 30.3 29.0 28.7 30.2 29.8
A3(江二矮) 20.0 20.1 24.2 27.3 24.5 27.1 28.1 27.7
试用编程方法或”分析员应用”分析该组数据进行方差分析
5—2 广告的效应
(数据见程序)试用编程方法或”分析员应用”分析该组数据进行方差分析
分类变量 ad(广告方式)4 水平: 报纸 paper, 广播 radio, 销售员 people, 店内展示
display
75 57 76 68 75 83 77 75 72 66 66 76 76 81 63 70 86 62
94 54 70 88 56 86 87 65 65 84 77 78 79 62 75 80 62 70
69 51 100 54 78 79 90 77 60 83 74 69 33 79 73 68 75 65
100 61 68 70 53 73 68 63 83 79 66 65 76 73 74 81 57 65
63 67 85 58 82 78 80 87 62 87 70 77 70 75 40 68 61 55
64 40 67 76 70 77 51 61 75 42 71 65 64 50 62 78 37 83
52 61 61 41 44 86 76 57 52 75 75 63 33 69 60 52 61 43
61 66 41 69 43 51 65 58 50 60 52 55 44 45 58 52 45 60
;
proc print;
run;
127
SAS 操作入门 编者:江南大学 吴有炜 128
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
第六章 回归分析
统计意义:
程): ŷ =f(x1,x2,…,xp)
回归分析要研究模型的类型、估计模型中的参数、模型的适用性、模型的诊断
128
SAS 操作入门 编者:江南大学 吴有炜 129
第一节 编程序进行
1. 多元线性回归与 reg 过程
程序形式:
Model 因变量名称串(变量间用空格隔开)=自变量名称串(变量间用空
格隔开) / 选项串;
/*选项串包括 1) all 印出所有分析结果 2) XPX 印出内积阵 XTX
3) I 印出内积阵 XTX 的逆阵
4) Tol(rance) (定义为 1-R2)印出各参数的容忍量
5) Vif (Variance Inflance) 变异数的膨胀值
6) Collin 执行多自变量间的共线性分析
7) P 因变量的实际值与预测值及误差的表
8) R 比 7)更多,包括(cook)D 值(用于发现奇异样本)
9) clm 各个预测值均值的 95%的置信区间上下限
10) Partial 对每一个自变量作净回归图
11) selection=stepwise (forward backward Rsquare Adjrsq
MaxR )(分别为)逐步回归(向前回归,向后回归,复相关系数
平方法,修正的复相关系数平方法,最大相关法)
Test 等式 1,等式 2,…; (例: test b1;(缺省表检验 b1=0), test y=4; ,
mtest y1-y2 x ;(多变量检验))
Output out=输出文件名 关键字(定义另附)=变量名称串;
Plot 图形指令串/选项串;
2) Plot ( 纵轴变量串名.)*(横轴变量串名.)
129
SAS 操作入门 编者:江南大学 吴有炜 130
run;
polt y1*x2;
6) Collin 执行多自变量间的共线性分析
7) P 因变量的实际值与预测值及误差的表
8) R 比 7)更多,包括(cook)D 值
Run;
例 6.1.1
研究某一地区土壤中含植物可给态磷的情况. 设 y 是 35℃时土壤中可给态磷含量;x1
是土壤中所含无机盐浓度;x2 是土壤中溶于 K2CO3 溶液并受溴化物水解的有机磷;x3 是土
壤中溶于 K2CO3 溶液但不溶于溴化物的有机磷,经 18 次测量得数据表(略,见程序),求
x1,x2,x3 对 y 的线性回归方程.
解:回归模型是
y = b0 + b1 x1 + b2 x2 + b3 x3 + ε
为了估计 b0,b1,b2,b3,我们采用 SAS 程序*/
data pcontent;
input x1-x3 y;
cards;
0.4 52 158 64
0.4 23 163 60
3.1 19 37 71
0.6 34 157 61
4.7 24 59 54
1.7 65 123 77
130
SAS 操作入门 编者:江南大学 吴有炜 131
9.4 44 46 81
10.1 31 117 93
11.6 29 173 93
12.6 58 112 51
10.9 37 111 76
23.1 46 114 96
23.1 50 134 77
21.6 44 73 93
23.1 56 168 95
1.9 36 143 54
26.8 58 202 168
29.9 51 124 99
;
proc reg data=pcontent; /*reg 语句调用回归分析*/
model y=x1-x3; /*model 因变量=自变量;*/
run;
输出部分结果:
2. 逐步回归求最优回归方程
统计方法: 利用删选因子(或回归项)的逐步回归法可以求得”最优”回归方程,事先设定
选取因子的显著水平α1 和删除因子的显著水平α2,对全体待考虑的因子(或回归项),逐步建
立只含一个因子的回归方程、二个因子的回归方程、…直至未选中的因子(或回归项)显著
水平都低于 1-α1 且在回归方程中的因子(或回归项) 显著水平都高于 1-α2. (α缺省默认均
为 0.05)
注: 同一组数据可试采用不同的回归模型,模型的择优可看模型的显著性(P 值越小越好)
或模型的复相关系数 R-Square(最大化)或平均残差方 MSE(Mean Square Error)(最小化)(或
MSE 开方后得残余标准差 Root MSE 最小化)
131
SAS 操作入门 编者:江南大学 吴有炜 132
例 6.1.2
为了预报入霉期 y(6 月 1 日为 1),考虑 6 个气象因子 x1,x2,…,x6 . 从过去 23 年的气象
资料查得数据表(见程序),试找出主要的预报因子(自变量)和回归方程.
SAS 程序
data rumay;
input x1-x6 y;
cards;
31 7 16 5 4 265 23
30 5 4 7 4 262 23
33 10 0 0 0 258 3
25 4 6 0 6 262 20
26 6 12 5 7 260 26
27 9 19 4 9 266 27
27 7 19 4 5 259 19
31 13 4 2 2 257 6
31 8 1 0 2 266 16
28 14 0 0 4 265 22
25 16 18 4 7 268 24
30 12 5 2 4 262 30
24 5 22 9 8 264 28
28 3 19 2 4 262 24
30 0 0 0 0 264 24
27 2 14 4 8 259 30
26 10 7 3 9 262 17
30 11 1 0 2 260 9
28 6 7 0 5 260 20
29 9 22 1 5 259 16
32 13 0 0 1 263 9
20 7 12 0 5 251 16
34 7 6 0 3 257 16
;
Proc reg data=rumay;
Model y=x1-x6/selection=stepwise; /* selection=stepwise 逐步回归选项*/
输出给出了删选变量的过程,下表为最后结果,并指出模型内的项在α=0.15 意义下都
是显著的,模型外的项在α=0.15 意义下都是不显著的
132
SAS 操作入门 编者:江南大学 吴有炜 133
3. 多项式回归转化为多元线性回归
例 6.1.3
h=b0+b1x+b2y+b3x2+b4xy+b5y2+ε (6.1.3)
其中ε是零均值随机变量,结合表,我们得
表 地质钻探数据
序号 X Y H
1 2.00 6.0 -11
2 2.00 5.5 0
3 2.00 5.0 10
4 2.00 4.5 20
5 2.00 4.0 31
6 2.25 6.0 -11
7 2.25 5.5 -1
8 2.25 5.0 9
9 2.25 4.5 19
10 2.25 4.0 30
11 2.50 6.0 -12
12 2.50 5.5 -2
13 2.50 5.0 8
14 2.50 4.50 19
15 2.50 4.0 29
16 2.75 6.0 -13
17 2.75 5.5 -2
18 2.75 5.0 7
19 2.75 4.5 18
20 2.75 4.0 28
21 3.00 6.0 -14
133
SAS 操作入门 编者:江南大学 吴有炜 134
22 3.00 5.5 13
23 3.00 5.0 6
24 3.00 4.5 17
25 3.00 4.0 27
data corn;
do x=2 to 3 by 0.25 ;
do y = 6 to 4 by -0.5 ;
input h @@;
t1=x;t2=y;t3=x*x;t4=x*y;t5=y*y; /*将多项式回归转化为线性回归的方法*/
output;
end;
end;
cards;
-11 0 10 20 31 -11 -1 9 19 30
-12 -2 8 19 29 -13 -2 7 18 28
-14 13 6 17 27
;
proc reg data=corn;
model h=t1-t5;
run;
注: 这是个多项式回归模型,从参数角度称此模型为参数 b1—b5 的线性模型
4. 非线性回归
非线性回归是指模型从参数角度为非线性的且无法线性化的模型,例如
y=b0+b1x1+b2x2+b11x12+b12x1x2+b22x22 是诸参数 bi 及 bij 的线性模型(从自变量 x1,x2 角度
模型是非线性的),
y=aebx 是可以线性化的非线性模型(线性化后 lny=bx+lna),
而 y=a exp(-exp(b-cx))是非线性的且无法线性化的模型.
注: 同一组数据可试采用不同的回归模型,模型的择优可看模型的显著性(P 值越小越好)
或模型的复相关系数 R-Square(最大化)或平均残差方 MSE(Mean Square Error)(最小化)(或
MSE 开方后得残余标准差 Root MSE 最小化)
程序形式:
proc nlin data =…;
model 因变量 = 非线性函数表达式;
parms 参数 1=初值 参数 2=初值 … ;
der.参数 1=偏导表达式 ;
der.参数 2=偏导表达式 ;
…………… ;
runs;
134
SAS 操作入门 编者:江南大学 吴有炜 135
135
SAS 操作入门 编者:江南大学 吴有炜 136
5. 非线性回归中初值的一种确定方法
例 6.1.5
观察数据为下表,试求出 a,b,c.
表: 化学反应速度
x1 x2 y
1.0 1.0 0.126
2.0 1.0 0.219
1.0 2.0 0.076
2.0 2.0 0.126
0.1 0.0 0.186
136
SAS 操作入门 编者:江南大学 吴有炜 137
run;
proc reg data=c1;
model y=u1-u3/noint; /*noint 选项说明线性回归无截矩项*/
run;
由计算求得 u1, u2, u3 的系数分别为 0.982126, 5.653542 和 0.935412. 所以,a,b,c 的
初始估计值分别为 0.982126, 5.653542 和 0.935412.
为了打印简化,也为了提高计算速度,令
dn=1+ax1+bx2,
cx 1
term = .
则 dn
∂ cx 2 term * x1
term = − 21 = − ,
∂a d n dn
∂ term * x 2
term = − ,
∂b dn
∂
于是,我们用程序 term = x1 / dn .
∂c
proc nlin data=c1; /*调用 nlin 进行非线性回归*/
dn=1+a*x1+b*x2; /*简化记号*/
term=c*x1/dn; /*简化记号*/
model y =term; /*因变量=非线性函数表达式*/
parms a=0.982126 b=5.653542 c=0.935412; /*用线性模型的参数作为非线性模型参
数初值*/
der.c=x1/dn; /*给出参数的一阶偏导表达式*/
der.b=-term*x2/dn;
der.a=-term*x1/dn;
run;
6.二分数据回归
调用 PROBIT(二分数据的预估)过程:二分数据是因变量只取二个值的数据,采用最大
似然估计给出回归模型的参数估计, probit 是概率单位的意思
统计原理:
Prob(R=0)= Φ( a + b x + ... + b x
1 1 1 m m
) (默认的模型形式)
形式:
proc probit data=输入数据名 选项串;
/*选项包括:outest=输出文件名 order=在 class 分类下组别次序类型 covout 要求将参
数估计值的协方差阵纳入 outest=的输出中 Lackfit---要求执行卡方检验和对数可能比
检验 Hprob=小概率值----界定 Lackfit 中的显著水平*/
137
SAS 操作入门 编者:江南大学 吴有炜 138
model 二分因变量=自变量串/选项串;
/*选项包括 noint---模型中无截距项 Lackfit---(同
上) Hprob=小概率值 Corrb---打印参数估计值之
间的相关系数阵 Covb---打印参数估计值之间的协方
差阵*/
例 6.1.6
/* 空气流通速度 rate 与体积 volume 是否引起四肢皮肤收缩,收缩 res=1,否则 res=0(数据
见程序行).处理时先将自变量取自然对数.*/
Data VASO;
Input Volume Rate Res @@;
LogVol=Log(Volume);
LogRate=Log(Rate);
Cards;
138
SAS 操作入门 编者:江南大学 吴有炜 139
运行后结果输出(部分)如下表:
7. LOGISTIC 回归
调用 LOGISTIC(逻辑回归分析)过程:类似二分数据回归采用最大似然估计给出回归模
型的参数估计,但可以处理次序变量作为因变量的回归分析.
y=logit(P)=ln[P/(1-P)]=b0+b1x1+…+bmxm
称为 Logistic 回归方程(也是默认的回归形式),该方程参数确定后用于预测时可由下式
求概率值 P:
P=ey/(1+ey)
139
SAS 操作入门 编者:江南大学 吴有炜 140
对应 Prob(Ob=i*)=max.
程序形式:
model 次序(或二分)因变量=自变量串/选项串;
/*选项包括
link=Normit----模型选项(用于水平>2 的次序因变量)
noint---模型中无截距项 Lackfit---(同上)
例 6.1.7
/* 空气流通速度 rate 与体积 volume 是否引起四肢皮肤收缩,收缩 res=1,否则 res=0(数据见
程序行).处理时先将自变量取自然对数.*/
Data VASO;
Input Volume Rate Res @@;
LogVol=Log(Volume);
LogRate=Log(Rate);
Cards;
3.7 .825 1 3.5 1.09 1 1.25 2.5 1 .75 1.5 1
.8 3.2 1 .7 3.5 1 .6 .75 0 1.1 1.7 0
140
SAS 操作入门 编者:江南大学 吴有炜 141
回归方程
res=-1.4497+3.0282Lograte+3.1381Logvol
141
SAS 操作入门 编者:江南大学 吴有炜 142
8. ORTHOREG 正交回归
调用 ORTHOREG(正交回归分析)过程:当数据阵“病态”(即复共线性较严重时)采用
REG 程序只能求 LS 近似阵,而采用本程序可以消除复共线性,产生精确的 LS(最小误差
平方)解,其方法为先求得数据阵的主成份,然后用主成份作为自变量求回归方程,再将原始
变量回代到回归方程中,主成份的相关细节参见主成份分析.
形式:
142
SAS 操作入门 编者:江南大学 吴有炜 143
Run;
例 6.1.8
经济分析数据进口总额 y 与 x1—国内总产值,x2--存储量,x3---总消费量(数据 E61)
data E61;
input x1-x3 y;
cards;
149.3 4.2 108.1 15.9
161.2 4.1 114.8 16.4
171.5 3.1 123.2 19.0
175.5 3.1 126.9 19.1
180.8 1.1 132.1 18.8
190.7 2.2 137.7 20.4
202.1 2.1 146.0 22.7
212.4 5.6 154.1 26.5
226.1 5.0 162.3 28.1
231.9 5.1 164.3 27.6
239.0 0.7 167.6 26.3
;
输出结果见下表(请检验以上数据的复共线性,对比以上数据直接用reg回归的模型的
显著性与残差平方):
143
SAS 操作入门 编者:江南大学 吴有炜 144
9. RSREG 响应面回归和岭迹分析
调用 RSREG(多项式回归及响应面分析)过程,执行二次多项式回归,进行逐项和方程
的检验,预测响应值,指明响应面类型和最优响应值(点)(若存在),没有最优值时可进行脊
岭分析.
形式:
L95M=因变量均值 95%置信区间下限
U95M=---因变量均值 95%置信区间上限
L95=因变量预测值 95%置信区间下限
Stdp=预测值均值的标准误差 Student=---经过标准化的误差
144
SAS 操作入门 编者:江南大学 吴有炜 145
(以上二选项用于诊断奇异样本)
Nocode---不要编码处理
Press=---除去一个观测样本后所求该样本的预测误差*/
Run;
(1) 响应面分析
例 6.1.9
求面包酵母高产和高发酵活力的最优工艺参数.
指标:y1——面包酵母产量(指最终发酵液的菌体浓度(g/L));
y2——发酵活力(指面团从水中浮起的时间(分)).
因素:z1——还原糖浓度,2%~6%;
z2——氮源浓度,0.4%~1.2%;
z3——磷源浓度,0.2%~0.4%.
取三水平,z1:2%,4%,6%; z2:0.4%,0.8%,1.2%; z3:0.2%, 0.3%,0.4%. 作变换
z1 − 4 z − 0.8 z − 0.3
x1 = , x2 = 2 , x3 = 3
2 0.4 0.1
试验方案和试验结果如下表
表:试验方案和试验结果
试验号 x1 x2 x3 y1 y2 试验号 x1 x2 x3 y1 y2
1 0 -1 -1 24.5 13.9 9 -1 -1 0 30.4 11.9
2 0 -1 1 35.3 14.1 10 -1 1 0 34.7 12.8
3 0 1 -1 38.2 14.9 11 1 -1 0 35.6 16.4
4 0 1 1 23.4 15.4 12 1 1 0 25.6 18.2
5 -1 0 -1 29.5 9.6 13 0 0 0 38.3 8.9
6 -1 0 1 33.1 10.1 14 0 0 0 37.9 8.5
7 1 0 -1 35.3 14.7 15 0 0 0 37.5 8.1
8 1 0 1 26.7 15.8
SAS 程序如下:
Data E62;
145
SAS 操作入门 编者:江南大学 吴有炜 146
Cards;
0 -1 -1 24.5 13.9
0 -1 1 35.3 14.1
0 1 -1 38.2 14.9
0 1 1 23.4 15.4
-1 0 -1 29.5 9.6
-1 0 1 33.1 10.1
1 0 -1 35.3 14.7
1 0 1 26.7 15.8
-1 -1 0 30.4 11.9
-1 1 0 34.7 12.8
1 -1 0 35.6 16.4
1 1 0 25.6 18.2
0 0 0 38.3 8.9
0 0 0 37.9 8.5
0 0 0 37.5 8.1
;
146
SAS 操作入门 编者:江南大学 吴有炜 147
上表指出特征值全为正(对应行向量是特征向量),从而稳定点(-0.5969, -0.0583,
-0.0509)是最小值点(编码), 预测最小值为 7.702195,本文输入自变量已经经过编码
(coded)处理,亦可输入未经编码(uncoded)的数据.
(注:响应面的绘制参见本节(3)或第一章第三节之 4.的 ADX 模块)
(2) 岭迹分析
例 6.1.10
橡胶树幼苗对硫 35 的吸收实验(2×3 析因试验)
温度 t(0 C ) 取样时间 d
水平一 7 2d
水平二 20 7d
水平三 12d
重 温 取样时间
复 度 D1 D2 D3
R3 T1 85 169 720
147
SAS 操作入门 编者:江南大学 吴有炜 148
input f t d @@;
cards;
102 7 2 120 7 2 85 7 2 306 7 7 318
7 7
169 7 7 735 7 12 626 7 12 720 7 12 542
20 2
559 20 2 558 20 2 601 20 7 667 20 7
609 20 7
859 20 12 718 20 12 727 20 12
;
proc sort;
by t d; /*对自变量 t d 进行 sort 由小到大排序*/
proc rsreg;
model f=t d /lackfit;/*选项 lackfit 要求对回归模型执行不适合度检定
(lack-of-fit test), 预先应先对自变量进行 sort 由小到大排序*/
run;
输出部分结果如下:
由 表 见 线 性 项 , 平 方 项 , 交 互 项 及 回 归 模 型 (P 值 分 别 为
<.0001,0.0144,0.0001,<.0001)均是高度显著的,说明拟合很好
148
SAS 操作入门 编者:江南大学 吴有炜 149
回归模型为 f=-252.46+42.99t+32.22d-2.895d*t+3.37d2
上表看出特征值有正有负,从而稳定点(编码时(4.95 1.57)或未编码时
(45.7 14.85))是鞍点.
以下进行岭嵴分析:
data rubber1; /*仍用数据名 rubber 可能会与先前运行的数据名冲突*/
input f t d @@;
/*ct= (t-13.5)/6.5;cd= (d-7)/5; 对自变量 t d 进行编码处理*,也可不经过
编码处理*/
cards;
102 7 2 120 7 2 85 7 2 306 7 7 318
7 7
169 7 7 735 7 12 626 7 12 720 7 12 542
20 2
559 20 2 558 20 2 601 20 7 667 20 7
609 20 7
859 20 12 718 20 12 727 20 12
;
proc sort;
by t d; /*对自变量 t d 进行 sort 由小到大排序*/
proc rsreg;
model f=t d /lackfit;/*选项 lackfit 要求对回归模型执行不适合度检定
(lack-of-fit test),预先应先对自变量进行 sort 由小到
大排序*/
ridge max ; /*ridge 岭嵴分析,选项 max 为求最大响应面,
欲求最小值应用选项 min*/
run;
输出部分结果见下表(给出了岭迹和系列指标预测值)
149
SAS 操作入门 编者:江南大学 吴有炜 150
(3) 作响应面图的程序
150
SAS 操作入门 编者:江南大学 吴有炜 151
也可从回归方程作响应面,在对数据集E62进行响应面回归(Rsreg)后得回归方程(固定水平x3=0,
本例自变量均已经编码处理)
2 2
y1=37.9-0.5625x1-0.6x2-2.875x1 -3.575x1x2-3.45x2
SAS 程序如下:
Data E62G ;
Y1=37.9-0.5625*x1-0.6*x2-2.875*x1**2-3.575*x1*x2-3.45*x2**2;
Output;
End;
End;
Proc print;
Run; /*以上为由回归方程建立作图数据集*/
/*以下作响应面图,先光滑数据,再作三维图*/
151
SAS 操作入门 编者:江南大学 吴有炜 152
10. 变量间的线性相关系数
设有两个变量的一组观测数据:
X x1 x2 … xn
Y y1 y2 … yn
反映两个变量相关性密切程度的相关系数定义为:
n n 2 n 2
rxy= ∑ ( xi − x)( y − y) /
i =1
i
∑ ( x i − x) ∑ ( y i − y)
i =1 i =1
例 6.1.11
152
SAS 操作入门 编者:江南大学 吴有炜 153
某健身房对 20 个中年人测量三个生理变量:WEIGHT(体重)、WAIST(腰围)、
PULSE(脉膊)和三个训练变量:CHIWS(引体向上)、SITVPS(起坐次数)、JVMPS(跳跃次数).
试讨论这两组变量间的相关性.
data fit;
input weight waist pulse chins situps jumps;
cards;
191 36 50 5 162 60
189 37 52 2 110 60
193 38 58 12 101 101
162 35 62 123 105 37
189 35 46 13 155 58
182 36 56 4 101 42
211 38 56 8 101 38
167 34 60 6 125 40
176 31 74 15 200 40
154 33 56 17 251 250
169 34 50 17 120 38
166 33 52 13 210 115
154 34 64 14 215 105
247 46 50 1 50 50
193 36 46 6 70 31
202 37 62 12 210 120
176 37 54 4 60 25
157 32 52 11 230 80
156 33 54 15 225 73
138 33 68 2 110 43
;
proc corr data=fit;
var weight ;
with waist; /*var 变量名 1;with 变量名 2;此时 corr 过程给出了两个变量间的相关系数*/
run;
输出结果见下表:
153
SAS 操作入门 编者:江南大学 吴有炜 154
var weight waist pulse chins situps jumps; /*var 变量名串;此时 corr 过程给出了所
2
有变量两两间的相关系数( C 6
个)*/
run;
输出结果见下表(部分):
with chins situps jumps; /*var 变量名串 1;with 变量名串 2;此时 corr 过程给出了两
组变量间两两的相关系数(3×3 个)*/
run;
输出结果见下表:
154
SAS 操作入门 编者:江南大学 吴有炜 155
第二节 利用菜单系统进行回归分析
1. 多元线性回归(包括求变量间的相关系数)
155
SAS 操作入门 编者:江南大学 吴有炜 156
156
SAS 操作入门 编者:江南大学 吴有炜 157
Tests ⇔ 让用户选择是否进行检验、功效分析及共线性诊断等
Statistics ⇔ 让 用 户 选 择 希 望 计 算 的 统 计 量 如 参 数 估
计 、标准回归系数、相关阵或协方差阵的估计;
Predictions ⇔ 让用户选择预测选项;
Plots ⇔ 让用户选择想绘制的图形如变量间散点图、变量残差图或残差影响分析图
等
⇒ Save Data ⇔ 是否保留数据或统计结果
⇒ Titles ⇔ 可以输入标题
⇒ Variables ⇔ 关于变量的三条指令:By groups Weight Frequence
⇒ OK
2. 一元回归(及一元多项式回归)
3. Logistic 回归(二分或有序变量回归)
157
SAS 操作入门 编者:江南大学 吴有炜 158
⇒ Titles ⇔ 可以输入标题
⇒ Variables ⇔ 关于变量的三条指令:By groups Weight Frequence
⇒ OK 选项键及功能类同多元线性回归的主窗口
输出结果(部分)如下表:
第三节 回归诊断
G G G G
x x ...
1 2 x p
y
样本1 ⎡x x ... x y ⎤⎥
G ⎢ 11 12 1p 1
设有数据阵 X│ y = 样本2 ⎢x x21 22
... x2p y⎥ 2
.... ⎢ ... ⎥⎥
⎢ ... ... ... ...
样本n ⎢ xn1 xn 2 ... x yn ⎥⎦
⎣ np
回归诊断的内容:
1) 检查模型的适用性
2) ”横看”数据阵 X 检查有无特异样本------残差分析
G G G
3)”竖看”数据阵 X 检查多个自变量间 x ,x1 2
,..., x p 的复共线性------共线性诊断
同一组数据用不同的模型进行回归时”最优”回归方程的判定准则有:
158
SAS 操作入门 编者:江南大学 吴有炜 159
1. 残差分析
设回归模型为
yi=f(xi1,xi2, … ,xip)+ei= yˆ +e
i
i (i=1,2,…,n)
应检查原因考虑从数据集中删除该样本.用于检查奇异样本的统计量有 CookD=---库格氏
影响力的统计量、H 矩阵对角元(Hat Matrix Diagonal)=---影响力, 定义为 Xi(XTX)-1Xi 、
(1) 遗漏显著因素引起的残差增加
例 6.3.1
159
SAS 操作入门 编者:江南大学 吴有炜 160
title '模型中只包含因素ac时指标用电量数据的残差图';
run;
160
SAS 操作入门 编者:江南大学 吴有炜 161
(2) 遗漏因素的作用显著的高次项(或交互项)引起的残差
例 6.3.2
title;
model power=speed;
上均值的95%置信限和预测值95%置信限*/
*/
run;
161
SAS 操作入门 编者:江南大学 吴有炜 162
data engine2;
set engine; /*调用数据engine*/
speedsq=speed*speed;
run;
162
SAS 操作入门 编者:江南大学 吴有炜 163
plot residual.*speed='*';
title '二元模型的残差图';
run;
2. 多变量的复共线性诊断
例 6.3.3
(1)复共线性的诊断标准
(max λ )
2
最大条件指数 Condition
..........Index
.... = (介于 10—30 间弱相关,30
.. —
.100
.间中等相
.. ....
(min λ )
2
关
..,>100 ...)
....强相关
data E63;
input x1-x4 y ;
cards;
7 26 6 60 78.5
1 29 15 52 74.3
11 56 8 20 104.3
11 31 8 47 87.6
7 52 6 33 95.9
11 55 9 22 109.2
3 71 17 6 102.7
1 31 22 44 72.5
2 54 18 22 93.1
21 47 4 26 115.9
1 40 23 34 83.8
11 66 9 12 113.3
10 68 8 12 109.4
;
proc reg data=E63;
model y=x1-x4 / vif collinoint ; /*选项/ vif collinoint要求对模型进行共线性诊断
*/
run; /*由以下输出表可见vif均>30,最大条件数37.1>30; 最小特征值近似为零也说明共线性严重,
163
SAS 操作入门 编者:江南大学 吴有炜 164
共线性导致尽管方程高度显著(p=0.0001见其它输出表),但每个变量(α=0.05)均不显著*/
164
SAS 操作入门 编者:江南大学 吴有炜 165
(3) 岭回归方法
(c)控制残差平方和法---限制 b(k)估计的残差平方和<cQ(其中
c>1 指定常数,Q 为最小二乘估计的
残差平方和)
例 6.3.4
run;
title;
proc reg data=E64 outest=oE64 graphics outvif; /*选项graphics要求绘制高分辨的图
形, outest=oE64要求将下面一组k值输出到oE64中,outvif 要求输出vif值*/
165
SAS 操作入门 编者:江南大学 吴有炜 166
166
SAS 操作入门 编者:江南大学 吴有炜 167
(4) 主成份法
例 6.3.5
data E65;
由 上 表 可 见 模 型 Obs2—3( 删 除 一 个 主 成 分 ) 回 归 系 数 的 方 差 膨 胀 系 数
vif(0.25083,1.00085,0.2538)均<1.1,而均方根误差(_RMSE_=)0.55001 比普通最小二乘回归方
程 Obs1 的 0.48887 大不了多少
与方法(4)原理相同,调用 ORTHOREG(正交回归分析)过程:当数据阵“病态”(即复共
线性较严重时)采用 REG 程序只能求 LS 近似阵,而采用本程序可以消除复共线性,产生精
确的 LS(最小误差平方)解.
形式:
167
SAS 操作入门 编者:江南大学 吴有炜 168
例 6.3.6
(6) 偏最小二乘法
适用于多个因变量和多个自变量间存在严重的多重相关时(下例仅供操作演示)
168
SAS 操作入门 编者:江南大学 吴有炜 169
3. 利用分析员系统进行回归诊断
(1)残差分析
⇒ Plots ⇔ 让用户选择想绘制的图形如散点图、残差图或影响图等
⇒ Predicted 对话窗口下可选择作 Y(因变量观测值)---X(自变量)图即数据散点图以及
Y---- Yˆ (Predicted)图
或 ⇒ Residual 对话窗口中可选择多项要绘制的残差图类型
或 ⇒ Infuence 给出要生成影响诊断的图形 ⇒ OK
169
SAS 操作入门 编者:江南大学 吴有炜 170
Residual 对话窗口中预测残差图类型有:
以及正态概率图,分位图
Influence 对话窗口中残差影响图类型为
(2) 共线性诊断
170
SAS 操作入门 编者:江南大学 吴有炜 171
习题六
(2) 对模型进行初步诊断,并指出有无可疑点或异常点
171
SAS 操作入门 编者:江南大学 吴有炜 172
data data63;
input x1 x2 y;
n=_n_;
cards;
1.5 5.0 96
2.0 2.0 90
1.5 4.0 95
2.5 2.5 92
3.3 3.0 95
2.3 3.5 95
4.2 2.5 94
2.5 3.0 94
3.5 2.0 .
;
proc print;
run;
用编程或菜单系统
(1) 求 y 与 x1 及 x2 的回归方程,说明在α=0.02 的水平下方程是否显著
(2) 对模型进行初步诊断,并指出有无可疑点或异常点,有无强影响点.
172
SAS 操作入门 编者:江南大学 吴有炜 173
习题 6—4 钢包侵蚀数据
1 b
(2) 假定 Y 与 X 的关系分别为○
1 =a+ ; ○
2 y=a+blogx;
y x
−b / x
3 y=a+b
○ x; ○
4 y=a
e
试作变量变换化非线性回归为线性
(3) 比较以上四种函数关系,找到最佳的拟合曲线
173
SAS 操作入门 编者:江南大学 吴有炜 174
run;
(1) 绘制四组数据的散点图,从中看出哪几组数据之间不是线性相关?
(2) 建立四组数据的回归方程式并进行比较
(3) 对四组数据分别进行回归诊断,从残差图中能否找到不符合线性回归模型的某些假设?
习题6—6 程序行中数据是27个企业中管理人员y与工人数x的资料
data data66;
input x y @@;
cards;
294 30 247 32 267 37 358 44
423 47 311 49 450 56 534 62
438 68 697 78 688 80 630 84
709 88 627 97 615 100 999 109
1022 114 1015 117 700 106 850 128
980 130 1025 160 1021 97 1200 180
1250 112 1500 210 1650 135
;
proc print;
run;
用编程或菜单系统
(1) 建立y与x的回归模型,并计算预测值和残差;
(2) 进行回归诊断,检验残差的正态性;
(3) 进行回归诊断,试问方差的齐性假设是否成立?
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
174
SAS 操作入门 编者:江南大学 吴有炜 175
第七章 定性变量数据分析(属性数据分析)
属性数据包括名义变量和有序变量,属性数据分析是分析两个定性变量对观测频数的
影响是否存在关联的方法
第一节 由数据生成列联表
第一行 频数 11 频数 12 … 频数 1n
第二行 频数 21 频数 22 … 频数 2n
1. (以个体单位的)原始数据生成列联表
freq 语句形式:
175
SAS 操作入门 编者:江南大学 吴有炜 176
求以上三种检验 expected----要求单元格频数期望
deviation---要求单元格频数期望与实际频数之差 CellChi2---要求单元格对卡方
统计值的贡献 Alpha=概率值
PlCorr 多元相关系数*/
weight 单元格变量名;/*单元格内是该变量的值即频数或其它值*/
by 分类变量名串; /*须先用 proc sort ; by 分组变量名串;通过 by 对变量的值排序(数值递
增字母升序)按序分组,以组为单位求统计量,因而不适用取值中文的变量 例 若有分组变量
名串 sex(分 male、female) month(分 feb、jan)则按 sex 的二种情况: male、female 与 month
的二种情况: feb、jan 的四种交叉组合进行分组统计*/
id 样本识别变量名串;
output out=统计值输出文件名 统计量关键字串;/*关键字有 CHISQ、MEASURES、CMH、
ALL 等*/
例 7.1.1
(2) 使用分析员应用系统
176
SAS 操作入门 编者:江南大学 吴有炜 177
⇒ OK
2. 由现有汇总表生成列联表
例 7.1.2
表----杀人犯是否赞成判死刑的调查数据
白人 黑人
是 19 17
否 141 149
data penalty;
input decision $ defrace $ numcell @@;
cards;
是 白人 19 是 黑人 17 否 白人 141 否 黑人 149
; /*建立一个名为penalty的数据集*/
proc freq data=penalty;
177
SAS 操作入门 编者:江南大学 吴有炜 178
tables decision*defrace;
weight numcell; /*由weight语句将观测变量值numcell输入到单元内去*/
title '死刑数据的列联表';
run;
(2) 使用分析员应用系统
3. 生成多变量的交叉表
例 7.1.3
……..
run;
178
SAS 操作入门 编者:江南大学 吴有炜 179
(2) 使用分析员应用系统
第二节 属性变量的无关联性检验
检验两个定性变量的观测个数是否存在关联
1. 属性变量无关联性的卡方检验
适用条件: 每个单元频数均不为零(没有空单元)且所有单元的期望频数(expected)均
大于等于 5(否则用 Fisher 精确检验)
例 7.2.1
179
SAS 操作入门 编者:江南大学 吴有炜 180
看到符合使用属性变量无关联性的卡方检验的两个条件(每个单元频数均不为零
(没有空单元)且所有单元的期望频数(expected)均大于等于 5),看出 Chi—Square 检验的
Prob 值为 0.6379,因此支持零假设即:被告人的死刑判决与种族无关
当卡方检验的两个条件(每个单元频数均不为零(没有空单元)且所有单元的期望频数
(expected)均大于等于 5)不满足时可采用 Fisher 精确检验,或者对 2×2 列联表 proc freq
过程自动采用 Fisher 精确检验.
例 7.2.2
比较两种工艺对产品质量影响,抽样结果见下表:
合格 不合格 小计
工艺一 3 4 7
工艺二 6 4 10
小计 9 8 17
首先生成数据集:
data E71;
input A $ B $ numcell @@;
cards;
工艺一 合格 3 工艺一 不合格 4 工艺二 合格 6 工艺二 不合格 4
;
proc freq data=E71;
tables A*B;
180
SAS 操作入门 编者:江南大学 吴有炜 181
使用分析员应用系统
入 数 据 ( 起 名
D532) ⇒ File ⇒ Save ,
181
SAS 操作入门 编者:江南大学 吴有炜 182
第一表内单元格内三个值分别为 频数 、期望频数、两者偏差
从上表的 Chi—Square 检验看到零假设成立的 P 值 0.4858>0.05 即支持成立零假设:工艺与
产品质量无关联
3. 两个有序变量的无有序关联性检验----Mentel-Haenszel
检验
对于有序的属性变量还可以检验它的序对另一列联变量有无关联,M—H 检验法就是针
对以下假设的检验方法,该法在发现有序关联方面比卡方检验要敏感.
例 7.2.3
小 9 5 9
中 18 4 19
大 11 88 136
data cows;
input herdsize $ disease n @@;
cards;
small 0 9 small 1 5 small 2 9
medium 0 18 medium 1 4 medium 2 19
large 0 11 large 1 88 large 2 136
;
proc freq data=cows;
tables herdsize*disease /
measures expected nopercent norow nocol ;
weight n;
title '奶牛疾病数据';
run;
运行结果
182
SAS 操作入门 编者:江南大学 吴有炜 183
由表上见统计量γ、τb、τc 说明
牛群大小(大→小)与患病程度 (没有→
高)有序的负关联,即牛群越大患病程
度越重 ,
ASE 为标准误,可以由它给出统计
量的置信区间,譬如统计量γ的
95% 的 置 信 区 间 为 -0.4133 ±
1.96×0.1009
数据例
样本 上榜人数 落榜人数
1.非重点学校 实验班 30 20
2.非重点学校 普通班 23 27
3. 重点学校 实验班 29 21
4. 重点学校 普通班 24 26
模型一----线性模型:
Weight WT;
RESPONSE Maeginals;
Quit;
模型二----对数线性模型:
183
SAS 操作入门 编者:江南大学 吴有炜 184
Weight WT;
RESPONSE Maeginals;
Quit;
模型三----逻辑斯帝回归模型:
Weight WT;
Direct x1 x2;
Quit;
模型四---重复试验的模型
Weight WT;
RESPONSE Maeginals;
MODEL R1*R2*R3=_RESPONSE_│A;
Quit;
184
SAS 操作入门 编者:江南大学 吴有炜 185
Weight 单元格变量名;
By 变量名串;
例 7.3.1
某地气候(季节)对儿童感冒平均次数的数据(见程序行),分析性别和气候(季节)对
儿童平均感冒次数的影响
Data Dacatmod;
Cards;
1 1 0 45 1 1 1 164 1 1 2 171
1 2 0 25 1 2 1 24 1 2 2 55
1 3 0 30 1 3 1 73 1 3 2 66
1 4 0 12 1 4 1 18 1 4 2 24
2 1 0 31 2 1 1 136 2 1 2 180
2 2 0 26 2 2 1 26 2 2 2 32
2 3 0 21 2 3 1 18 2 3 2 11
2 4 0 36 2 4 1 11 2 4 2 8
proc catmod;
run;
输出结果(部分)如下:
185
SAS 操作入门 编者:江南大学 吴有炜 186
186
SAS 操作入门 编者:江南大学 吴有炜 187
由方差分析表知:sex 间差异对感冒次数无显著意义(P=0.1374>0.05),季节间差异对
感冒次数高度显著(P<.0001)
例 7.3.2
样本 上榜人数 落榜人数
1.非重点学校 实验班 30 20
2.非重点学校 普通班 23 27
3. 重点学校 实验班 29 21
4. 重点学校 普通班 24 26
187
SAS 操作入门 编者:江南大学 吴有炜 188
Data E72;
Cards;
非重点 实验班 30 20
非重点 普通班 23 27
重点 实验班 29 21
重点 普通班 24 26
run;
Data E73;
Set E72;
weight count ;
run;
输出结果如下:
188
SAS 操作入门 编者:江南大学 吴有炜 189
由上表见:似乎上(落)榜与教学法有关(P=0.0867<α=0.1 时)而与学校及学校教学法
组合无关(P=1.000,0.7753>0.1)
习题七
7—1 试用编程方法或”分析员应用”对下表数据生成二维列联表并检验性别和喜爱
的颜色是否无关联性(α=0.05 或 0.1)
喜爱的颜色
红 蓝 绿
性 男 30 10 10
别 女 20 10 20
7—2 试用编程方法或”分析员应用”对下表数据生成二维列联表并检验不同的方案与
治愈情况是否有关联性(α=0.01)
状 况
痊愈 未愈
处理 1 36 14
方案 2 22 28
7—3
试用编程方法或”分析员应用”对下表数据生成二维列联表并检验外伤不同的治疗方案
与恢复时间是否有关联性(α=0.05)
189
SAS 操作入门 编者:江南大学 吴有炜 190
状 况
第一年康复 第二年康复
处理 理疗 38 12
方案 药物+卧床 43 32
7--4 试用编程方法或”分析员应用”对下表数据生成列联表并检验采用的哺乳方式是
否与母亲经济状况是否有关联性(α=0.01)
经济状况
贫穷 下 中 上
方 牛奶 30 15 11 12
母乳 7 18 19 29
式 并用 5 23 7 19
7—5 试用编程方法或”分析员应用”对下表数据
(1) 生成年收入和性别列联表并分析购买行为与性别及收入高低的联系检
验其是否购买行为与性别及收入高低关联.
(2) 把性别作为分层变量生成购买价值与年收入列联表,并分析比较男女
顾客中收入高低的人群购买行为
(3) 对有序变量购买价值与年收入检验是否有显著的有序关联性,并计算
关联性统计量
价值<100 元 价值≥100 元
男 女 男 女
收 低 35 55 8 34
中 58 40 15 31
入 高 37 44 38 36
190
SAS 操作入门 编者:江南大学 吴有炜 191
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
第八章 主成份分析和因子分析
统计意义: 主成份是原始变量组的线性组合,主成份之间两两正交从而没有相关性带
来的信息重叠,就能在基本或大部分提取原变量组信息的情况下用少数几个主成份替代原
变量组,达到降维的目的.为了合理地解释主成份的意义,因子分析是主成份分析的自然延伸
形式:
var 待分析变量名串;
191
SAS 操作入门 编者:江南大学 吴有炜 192
例 8.1.1
用主成分分析法综合评价对 2000 年我国 53 个高新技术产业开发区进行一次科学的综合
评价,原始数据行见程序:(单位:万元)
192
SAS 操作入门 编者:江南大学 吴有炜 193
; /* 注:1)空语句说明数据行结束 2)数据也可由其它途径复制到剪贴板
后点击 SAS 菜单栏 edit(编辑) →工具栏 paste(粘贴)*/
run; 注:执行以上语句,并表示过程步结束*/
/*
/* 然后 点击菜单栏 run→工具栏 submit*/
var x1-x6 ;
proc plot data= Outprin; /* 注:画 city(以*表示)的 z2(纵轴)z1(横
轴)散点图*/
193
SAS 操作入门 编者:江南大学 吴有炜 194
以下程序的效果是样本(city)分别依据第一主成份以及综合第一,二主成份产生的名次
排序.
data economy;
input city $ number $ x1-x6;
cards;
北京 1 828000 723000 50000 9000 46000 0
天津 2 1364870 899885 2000036 52986 128836 83127
石家庄 3 790040 280710 44240 85370 132430 34420
保定 4 590000 429000 20000 1000 115000 25000
太原 5 79120 18390 15200 34350 11180 0
包头 6 191940 61140 2000 2390 19229 11611
沈阳 7 2428204 2195734 85000 94720 20500 32250
大连 8 1130000 463300 259900 67800 214700 124300
鞍山 9 513104 161970 278600 44450 26320 1764
长春 10 941000 447800 118500 12050 162650 200000
吉林 11 625390 78220 275740 221350 5000 45080
哈尔滨 12 297083 317 0 30000 233355 33411
大庆 13 43000 0 0 0 43000 0
上海 14 2430107 1089720 219520 70679 728591 249597
南京 15 2762880 1400620 223360 258850 473970 70870
常州 16 1921300 760150 677821 234526 129850 118953
无锡 17 3380000 835110 478500 25200 490033 24115
苏州 18 3559100 3011990 305300 0 108110 0
杭州 19 514750 303690 27080 67230 74750 42000
194
SAS 操作入门 编者:江南大学 吴有炜 195
var prin1;
ranks rankprin1;
/*以上三行语句作用为先对 prin1 由大到小排序(descending 降序),再转换成名
为 rankprin1 的名次变量*/
proc sort; by rankprin1; /*对 rankprin1 排序(默认为升序即由小到大)*/
proc print;
195
SAS 操作入门 编者:江南大学 吴有炜 196
var city prin1 rankprin1; /*印出对 rankprin 排序后的 city prin1 rankprin1*/
data pn1and2;
prin1and2=0.76*prin1+0.24*prin2;
var prin1and2;
ranks rankprin1and2;
/*以上三行语句作用为先对 prin1and2 由大到小排序(descending 降序),再转换
成名为 rankprin1and2 的名次变量*/
proc sort; by rankprin1and2;
/*对 rankprin1and2 排序(默认为升序即由小到大)*/
proc print;
var city prin1 prin2 prin1and2 rankprin1and2;
/*印出对 rankprinand2 排序后的 city 等变量*/
run;
输出部分结果见下表:
196
SAS 操作入门 编者:江南大学 吴有炜 197
例 8.1.2
学生身体 4 项指标的主成份分析
data E81;
input number x1-x4 @@ ; /*nummber学生序号, x1身高, x2体重, x3胸围, x4坐高*/
cards;
1 148 41 72 78 2 139 34 71 76 3 160 49 77 86 4 149 36 67 79
5 159 45 80 86 6 142 31 66 76 7 153 43 76 83 8 150 43 77 79
9 151 42 77 80 10 139 31 68 74 11 140 29 64 74 12 161 47 78 84
13 158 49 78 83 14 140 33 67 77 15 137 31 66 73 16 152 35 73 79
17 149 47 82 79 18 145 35 70 77 19 160 47 74 87 20 156 44 78 85
21 151 42 73 82 22 147 38 73 78 23 157 39 68 80 24 147 30 65 75
25 157 48 80 88 26 151 36 74 80 27 144 36 68 76 28 141 30 67 76
29 139 32 68 73 30 148 38 70 78
;
proc princomp data=E81 prefix=z out=oE81 ;/*选项prefix=z要求主成份的前缀名为z*/
var x1-x4;
run;
proc plot data=oE81;
plot z2*z1 $ number='*'; /*z1—z2散点图的点用’*’标记*/
run;
proc sort data=oE81;
by z1;
run;
197
SAS 操作入门 编者:江南大学 吴有炜 198
第一主成份有88.53%的方差贡献
率,前两个主成份累计贡献率更高
达96.36%,故只需前两个主成份就
能很好地概括这组数据.
第四特征值0.066≈0说明原变量
组存在共线性.
第一主成份可解释为大小因子,第
二主成份可解释为胖瘦因子
例 8.1.3
. 彩色胶卷显影液质量控制问题:将胶卷在不同的情况下曝光,再通过色片进行测量,
测量在高、中、低三种密度下进行,这样一个胶卷有 9 个指标,共做 108 个试验,由 108
个数据所得样本协差阵如下表,试做主成分分析.
高 中 低
红 绿 蓝 红 绿 蓝 红 绿 蓝
177 179 95 96 53 32 -7 -4 -3
419 245 131 181 127 -2 1 4
302 60 109 142 4 4 11
158 102 42 4 3 2
137 96 4 5 6
128 2 2 8
34 31 33
39 89
48
输入协差阵的 SAS 程序可以这样写
data film (type=cov);
_type_ = ’cov’; /*若为相关阵则为’corr’*/
input _name_ $ x1-x9; /*_name_为对称阵行、列变量名*/
cards;
x1 117 . . . . . . . . /*输入对称的相关阵或协方差阵时
省略号必须有且点数必须正确*/
x2 179 419 . . . . . . .
x3 95 245 302 . . . . . .
x4 96 131 60 158 . . . . .
198
SAS 操作入门 编者:江南大学 吴有炜 199
例 8.1.4
主成份回归
199
SAS 操作入门 编者:江南大学 吴有炜 200
以上程序的第一部分对自变量数据进行了标准化处理和主成份分析,从输出中可见只需取
前二个主成份即可提取方差贡献率的 99.91%,然后作了前二个主成份和因变量间的回归分
析,最后也可将原始变量 x1—x3 代入主成份得原始变量和因变量间的回归方程
第二节 利用分析员应用系统
200
SAS 操作入门 编者:江南大学 吴有炜 201
⇒ Princinpal Component… ⇒
进入多变量分析主窗口 Princinpal Component:Economy
在多变量分析主窗口里
选择 x1—x6 ⇒ Variables ⇒
Statistics ⇔ ⇒ 选择相关阵还是协方差阵及主成份个数,本例选相关阵、主成份
个数 2 个 ⇒ OK
Polts ⇔ ⇒ 选择是否绘制 Scree Plot (屏幕图即被选中前 2 个主成份的特征值直方
图)(本例选)或 Componet Plot (主成份散点图)(本例选,在 Type 类型中选 Enhance
加强型,Id 样本本例用 number) ⇒ OK
Save Data ⇔ ⇒ 数据保存选项:Scores 输入数据表 , Statistics 统计表, ⇒ OK
Title ⇔ (标题) ⇒ 本例打入”经济数据主成份分析” ⇒ OK
Variables 针对主成份分析的三条指令:By groups Weight Frequence 本例不点击
⇒ (OK) (运行后分析结果点击 Analyst(new…)后点击左方结果树看相应结果)
运行后的结果树及前二个主成份散点图如下:
201
SAS 操作入门 编者:江南大学 吴有炜 202
第三节 因子分析
1. 调用 factor 过程进行因子分析
形式:
202
SAS 操作入门 编者:江南大学 吴有炜 203
priors=one 变量共通性的预估值为 1
priors=max 每个变量共通性的预估值为每一变量与其它变量的最大相关系数绝对值
priors=smc 每个变量共通性的预估值为每一变量与其它变量的复相关系数平方
Rotate=varimax(或 V)最大方差旋转法
Rotate=Promax(或 P)最优斜交转换法
Rotate=Orthomax 标准正交转换法
Simple---印出均值,标准差 corr---印出相关阵
preplot---未经过坐标转换的因子负荷阵 plot---经过坐标转换的因子负荷阵*/
var 待分析变量名串;
例 8.3.1
80-90 年代我国经济发展情况分析
203
SAS 操作入门 编者:江南大学 吴有炜 204
;
pcoc factor data=ecm1 outstat =ecfact;/* 第一个 proc factor 语句用来调用因子分析过程,
处理的数据是 ecm 方法主成份分析,outstat=输出
比 out=更详尽,包括描述统计量、corr(or cov)、特
征根、主因子等 */
var X1-X8;
proc factor data=ecm1 priors=max n=2 /*第二个 proc factor 规定了先验公因子方差估计,取
相关变量的最大值,执行主因子分析;同时要求提取
两个因子(n=2)*/
rotate=v; /* 产生方差最大旋转*/
var X1-X8;
proc print data=ecfact;
run;
此程序的输出结果如下列表:
Principal factor analysis with varmax rotation
1 2 3 4
Eigenvalue 3.6973 2.1881 0.6994 0.2693
Difference 1.5092 1.4887 0.4301 0.2357
Proportion 0.5860 0.3468 0.1109 0.0427
Cumulative 0.5860 0.9328 1.0437 1.0864
5 6 7 8
Eigenvalue 0.0336 -0.1199 -0.1899 -0.2687
Difference 0.1534 0.0700 0.0788
Proportion 0.0053 -0.0190 -0.0301 -0.0426
Cumulative 1.0917 1.0727 1.0426 1.0000
204
SAS 操作入门 编者:江南大学 吴有炜 205
X7 0.78519 -0.45647
X8 0.51565 0.39336
FACTOR1 FACTOR2
3.697345 2.188122
/*由上表输出结果,我们可获得以下信息:
1、 特征值表,前两个特征值3.6973 、2.1881比较大,两者占公共方差的93.28%,因而取两
个因子(n=2)是合理;
2、 给出每个因子对方差的贡献,及公共因子对每个变量的贡献。8个变量中只有第5个变量
(固有的固定资产投资额)与其他类型的影响不同。
205
SAS 操作入门 编者:江南大学 吴有炜 206
3、方差的最大正交旋转矩阵和旋转后的因子模型在上表中有所体现。由旋转后的模型可得
出载荷的分布不明显,各种变量对经济情况分析的影响没得到很好的区分,说明用最大正交
旋转的方式没能将各因子的影响分析清楚,因此考虑选择其他旋转方法。
考虑用斜正交旋转方式进行旋转,操作过程如下:*/
程序运行的结果如下:
Initial Factor Method: Principal Factors
Prior Communality Estimates: MAX
X1 X2 X3 X4
0.846687 0.846687 0.906432 0.595158
X5 X6 X7 X8
0.906432 0.805627 0.814235 0.588110
206
SAS 操作入门 编者:江南大学 吴有炜 207
3.697345 2.188122
Final Communality Estimates: Total = 5.885467
X1 X2 X3 X4
0.710900 0.871252 0.922407 0.499562
X5 X6 X7 X8
0.852921 0.782907 0.824894 0.420622
207
SAS 操作入门 编者:江南大学 吴有炜 208
FACTOR1 FACTOR2
X1 0.83852 0.10498
X2 0.90848 0.41547
X3 0.23837 0.96021
X4 0.41413 0.65200
X5 0.00910 0.90132
X6 0.87571 0.07599
X7 0.90412 0.12169
X8 0.30396 0.62707
Variance explained by each factor ignoring other factors
FACTOR1 FACTOR2
3.433537 2.756901
Final Communality Estimates: Total = 5.885467
X1 X2 X3 X4
0.710900 0.871252 0.922407 0.499562
X5 X6 X7 X8
0.852921 0.782907 0.824894 0.420622
上述结果可看出,变量x1、x2、x6、x7在第一个因子上的载荷明显比在第二个因子上要大,
与此相似,x3、x4、x5、x8则在第二个因子上的载荷大于第一个因子上的载荷,因而可将
x1:社会总产值;x2:国民收入;x6:职工工资总额;x7:社会商品零售额;和x3:一次性
能源生产总量;x4:货物周转量;x5:固有的固定资产投资额; x8:财政收入分两类信息
做经济情况分析。
例 8.3.2
. 选拔职员对应聘人员测验 6 门科目:
词汇、阅读、同义词、算术、代数、微积分记为 x1, x2, x3, y1, y2, y3, 将所有应聘者的
考试成绩作计算机处理,得样本相关阵,试对这六科成绩作因子分析. 样本相关阵见程序
对此问题采用程序*/
data score(type=corr);/* 建立名为 SCORE 数据库,其类型为 CORR 即相关阵*/
_type_=’corr’;
input _name_$ x1 x2 x3 y1 y2 y3;
cards;
x1 1 . . . . .
x2 .72 1 . . . .
x3 .63 .57 1 . . .
y1 .09 .15 .14 1 . .
y2 .09 .16 .15 .57 1 .
y3 .00 .09 .09 .63 .72 1
;
proc factor data =score;/* 调用因子分析过程对相关阵作因子分析,提取因子的方法 method=
缺省,所以作主成分因子分析. */
var x1 x2 x3 y1 y2 y3;
title ’principal component analysis’;
208
SAS 操作入门 编者:江南大学 吴有炜 209
run;
proc factor data =score priors =max n=2 /*没有规定提取因子的方法, 但规定了每一变
量共通性的预估值 PRIORS=为每一变量同其它
变量相关系数绝对值的最大值(PRIORS=MAX),
所以执行主因子分析, 同时要求提取两个因子
(n=2)*/
preplot rotate=varimax plot outstat=fact;/* 要求印出未经旋转的因子负荷矩阵;产
生方差最大旋转;印出旋转后的因子负荷矩阵*/
var x1 x2 x3 y1 y2 y3;
, ,
title2 principal factor analysis with varimax rotation ;
proc print data=fact;/* 打印旋转后的因子模型图*/
run;
以上程序 DATA 步用以建立名为 SCORE 数据库,其类型为 CORR 即相关阵,其中
x1,x2,x3 分别表示词汇、阅读、同义词,y1, y2, y3 分别表示算术、代数、微积分.
第一个 PROC FACTOR 语句用来调用因子分析过程对相关阵作因子分析,提取因子的
方法缺省,所以作主成分因子分析. 其输出结果见下表:
第二个 PROC FACTOR 语句中没有规定提取因子的方法, 但规定了先验公因子方差
估计, 使用它同其余任一变量相关的最大值(PRIORS=MAX), 所以此时执行主因子分析,
同时要求提取两个因子(n=2), 还要求打印没有旋转的因子模型图(PREPLPOT). POTATE=V
要求产生方差最大旋转,PLOT 要打印旋转后的因子模型图.
例 8.3.2
盐泉水化学分析资料的因子分析
data E83;
input x1-x7; /*x1矿化度, x2—Br.103/ Cl, x3---K.103/Σ盐, x4--- K.103/ Cl,
x5---Na/K, x6--- Mg.102/ Cl, x7---εNa/εCl*/
n=_n_; /*给出观测值的观测序n*/
cards;
11.835 0.480 14.360 25.210 25.21 0.810 0.98
45.596 0.526 13.850 24.040 26.01 0.910 0.96
3.525 0.086 24.400 49.300 11.30 6.820 0.85
3.681 0.370 13.570 25.120 26.00 0.820 1.01
48.287 0.386 14.500 25.900 23.32 2.180 0.93
17.956 0.280 9.750 17.050 37.20 0.464 0.98
7.370 0.506 13.600 34.280 10.69 8.800 0.56
4.223 0.340 3.800 7.100 88.20 1.110 0.97
6.442 0.190 4.700 9.100 73.20 0.740 1.03
16.234 0.390 3.100 5.400 121.50 0.420 1.00
10.585 0.420 2.400 4.700 135.60 0.870 0.98
23.535 0.230 2.600 4.600 141.80 0.310 1.02
5.398 0.120 2.800 6.200 111.20 1.140 1.07
283.149 0.148 1.763 2.968 215.86 0.140 0.98
316.604 0.317 1.453 2.432 263.41 0.249 0.98
307.310 0.173 1.627 2.729 235.70 0.214 0.99
322.515 0.312 1.382 2.320 282.21 0.024 1.00
254.580 0.297 0.899 1.476 410.30 0.239 0.93
209
SAS 操作入门 编者:江南大学 吴有炜 210
2. 因子分析的几种输入形式
1) (从多变量数据阵出发)
2) (从多变量数据阵出发)
3) (从相关阵出发)
210
SAS 操作入门 编者:江南大学 吴有炜 211
_type_=’corr’;
input _name_ $x1 x2 x3 y1 y2 y3;
/* _name_$命名了(相关)阵的行(列)变量名; x1 -y3 为矩阵元素变量*/
cards;
x1 1 . . . . . /*输入相关阵或协方差阵时省略号必须有且点数必须正确*/
x2 .72 1 . . . .
x3 .63 .57 1 . . .
y1 .09 .15 .14 1 . .
y2 .09 .16 .15 .57 1 .
y3 .00 .09 .09 .63 .72 1
;
proc factor ;
4) (从因子型态 factor pattern 出发)
data pat(type=factor);
_type_=’pattern’;
cards;
factor1 .5 .7 .3
factor2 .8 .2 .8
data pat(type=factor);
cards;
pattern factor1 .5 .7 .3
pattern factor2 .8 .2 .8
习题八
8—1 用主成份分析探讨城市工业主体结构(数据见程序)
(1) 对指标进行主成份分析并解释主成份
211
SAS 操作入门 编者:江南大学 吴有炜 212
(1) 对指标进行主成份分析并解释主成份
(2) 利用主成份对 19 个乡的经济发展水平进行排序
(3) 对 19 个乡的经济发展水平进行分类
data data82;
input n x1 x2 y1-y7;
cards;
1 843 4000 920 1038 1166 1536 1692 2743 2741
2 942 5215 1216 1280 1549 1924 2717 3743 4160
3 895 6379 1836 2287 2715 3281 3240 4572 5439
4 884 3770 978 1010 1227 1558 1755 2552 2623
5 1002 3329 757 684 718 931 1422 1827 2222
6 792 3039 759 765 1253 1296 1902 1822 2233
7 930 2476 559 616 611 863 891 1539 1768
8 758 2127 633 661 762 769 864 1241 1482
9 886 2721 703 836 813 914 895 1272 1431
10 859 1664 427 451 507 551 581 839 1107
11 808 2435 772 790 839 990 771 1132 1316
12 845 2661 557 599 670 855 1128 1639 1861
13 877 2242 549 471 480 643 664 1173 1530
14 787 3088 1061 1021 978 1102 1301 2373 2452
15 943 3322 567 557 630 836 984 1994 2704
16 866 3507 675 678 847 1187 1476 2107 2415
17 924 3412 545 729 821 1017 1079 1878 2325
212
SAS 操作入门 编者:江南大学 吴有炜 213
8—4 化工厂邻近8个大气取样点测6种气体浓度(数据见程序行),用因子分析法分析.
x1氯, x2硫化氢, x3 SO2, x4碳4, x5环氧氯丙烷, x6环已烷
data data84;
input x1-x6;
n=_n_;
cards;
0.056 0.084 0.031 0.038 0.0081 0.0220
0.049 0.055 0.100 0.110 0.0220 0.0073
0.038 0.130 0.079 0.170 0.0580 0.0430
0.034 0.095 0.058 0.160 0.2000 0.0290
0.084 0.066 0.029 0.320 0.0120 0.0410
0.064 0.072 0.100 0.210 0.0280 1.3800
213
SAS 操作入门 编者:江南大学 吴有炜 214
8—5 某年级44名学生的期末考试成绩(数据见程序行),试进行因子分析
data data85;
input x1-x5 @@;
label x1='力学(闭)' x2='物理(闭)'
x3='代数(开)' x4='分析(开)' x5='统计(开)';
n=_n_;
cards;
77 82 67 67 81 63 78 80 70 81
75 73 71 66 81 55 72 63 70 68
63 63 65 70 63 53 61 72 64 73
51 67 65 65 68 59 70 68 62 56
62 60 58 62 70 64 72 60 62 45
52 64 60 63 54 55 67 59 62 44
50 50 64 55 63 65 63 58 56 37
31 55 60 57 73 60 64 56 54 40
44 69 53 53 53 42 69 61 55 45
62 46 61 57 45 31 49 62 63 62
44 61 52 62 46 49 41 61 49 64
12 58 61 63 67 49 53 49 62 47
54 49 56 47 53 54 53 46 59 44
44 56 55 61 36 18 44 50 57 81
46 52 65 50 35 32 45 49 57 64
30 69 50 52 45 46 49 53 59 37
40 27 54 61 61 31 42 48 54 68
36 59 51 45 51 56 40 56 54 35
46 56 57 49 32 45 42 55 56 40
42 60 54 49 33 40 63 53 54 25
23 55 59 53 44 48 48 49 51 37
41 63 49 46 34 46 52 53 41 40
;
proc print data=data85;
run;
8—6 20 个企业的三项经济指标(数据见程序行),试进行因子分析,解释公因子并利用因
子得分对 20 个企业进行分类
data data86;
input x1-x4;
n=_n_;
cards;
1.611 10.59 0.69 1.67
214
SAS 操作入门 编者:江南大学 吴有炜 215
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
215
SAS 操作入门 编者:江南大学 吴有炜 216
第九章 典型相关分析
统计意义: 一个变量和一个变量的相关性可用相关系数度量,一个变量和一组变量的
相关性用复相关系数度量.典型相关分析是研究一组变量(A 组)和一组变量(B 组)的相关联
系.各(有序)典型相关变量对的第一分量是 A 组原始变量组的线性组合,第二分量是 B 组原
始变量组的线性组合,第一分量组内部两两正交, 第二分量组内部也两两正交, 有序典型相
关变量对对应两个分量之间满足 A 组原始变量组的线性组合与 B 组原始变量组的线性组合
间相关系数的最大化,利用少数(有序)典型相关变量对之间的相关性研究可反映 A 组和 B 组
两组变量间的相关联系.
形式:
var 第一组原始变量名串;
with 第二组原始变量名串;
by 分组变量名串; /*分组后对每组进行主成份分析 须先用 proc sort ; by 分组变量
名串; 对 by 变量的值排序(字母升序),以组为单位求统计量 例 若有分组变量名串 sex(分
男、女) school(分重点、非重点)则按 sex 的二种情况:男、女与 school 的二种情况:重点、非
重点的四种交叉组合进行分组统计*/
例 9.1.1
. 某健身房对 20 个中年人测量三个生理变量:WEIGHT(体重)、WAIST(腰围)、
PULSE(脉膊)和三个训练变量:CHIWS(引体向上)、SITVPS(起坐次数)、JVMPS(跳跃次数).
试分析这两组变量间的相关性.
为此,我们可采用下述 SAS 程序
data fit;
input weight waist pulse chins situps jumps;
cards;
191 36 50 5 162 60
189 37 52 2 110 60
193 38 58 12 101 101
162 35 62 123 105 37
189 35 46 13 155 58
182 36 56 4 101 42
211 38 56 8 101 38
216
SAS 操作入门 编者:江南大学 吴有炜 217
167 34 60 6 125 40
176 31 74 15 200 40
154 33 56 17 251 250
169 34 50 17 120 38
166 33 52 13 210 115
154 34 64 14 215 105
247 46 50 1 50 50
193 36 46 6 70 31
202 37 62 12 210 120
176 37 54 4 60 25
157 32 52 11 230 80
156 33 54 15 225 73
138 33 68 2 110 43
;
proc cancorr data=fit all /*PROC CANCORR 语句指示 SAS 对数据集 FIT 作典型
相关分析,其中 ALL 选项要求输出所有计算结果*/
vprefix=phys /*v 组变量名前缀,缺省时为 v*/
vname=’physiological Measuremets’ /*v 组变量标签,缺省时为’VAR’variables*/
wprefix=exer /*w 组变量名前缀,缺省时为 w*/
wname=’Exercises’; /*w 组变量标签,缺省时为’WITH’variables*/
217
SAS 操作入门 编者:江南大学 吴有炜 218
上表说明只有第一对典型相关变量相关是显著的(corr=0.5960)
第一对典型相关变量相关反映两原始变量组相关联系的贡献率已达 91.21%,因此只需取第
一对典型相关变量即可反映两原始变量组相关情况
注意到零假设也只有第一对典型相关变量是显著的 Pr=0.0659
该表给出了典型相关变量
对的组成:
第一典型相关变量对
为(phys1, exer1),其中
phys1=-0.0279weight+0.471
3waist-0.01266pulse
218
SAS 操作入门 编者:江南大学 吴有炜 219
exer1=-0.0026chins-0.021situps+0.0137jumps
第二典型相关变量对为………..
例 9.1.2
. 现有北京地区 1951~1976 年的资料见下表,其中
year:年份
Des:12 月份平均气温.
Jan:次年一月份平均气温.
Feb:次年二月份平均气温.
º º º º
High7:7 月 500hpa 图上 13 ~14 E,40 ~50 N 范围内 6 点高度距平和.
º º º º º º
High4:4 月 500hpa 图上(110 E,45 N)(100 W,40 N)和(100 W,50 N)3 点高度距平和.
º º º º º º
High8:8 月 500hpa 图上 150 E,35 ~45 N;100 E,40 ~50 N 范围内5 点高度距平和.
表 北京地区冬季气温
Year Eec Jan Feb high7 high4 high8
1951 1.0 -2.7 -4.3 4 -7 12
1952 -5.3 -5.9 -3.5 0 21 5
1953 -2.0 -3.4 -0.8 6 -9 5
1954 -5.7 -4.7 -1.1 10 17 6
1955 -0.9 -3.8 -3.1 1 5 11
1956 -5.7 -5.3 -5.9 -3 1 -12
1957 -2.1 -5.0 -1.6 -15 3 13
1958 0.6 -4.3 -0.2 10 -3 0
1959 -1.7 -5.7 2.0 -9 -5 -14
1960 -3.6 -3.6 1.3 11 -3 18
1961 -3.0 -3.1 -0.8 5 -15 4
1962 0.1 -3.9 -1.1 8 12 1
1963 -2.6 -3.0 -5.2 11 3 -3
1964 -1.4 -4.9 -1.7 -11 -8 7
1965 -3.9 -5.7 -2.5 -18 6 -6
1966 -4.7 -4.8 -3.3 -9 -6 15
1967 -6.0 -5.6 -4.9 4 0 -20
1968 -1.7 -6.4 -5.1 -7 -2 -15
1969 -3.4 -5.6 -2.0 4 17 -23
1970 -3.1 -4.2 -2.9 9 -16 23
1971 -3.8 -4.9 -3.9 -13 5 -2
1972 -2.0 -4.1 -2.4 7 0 10
1973 -1.7 -4.2 -2.0 27 -11 4
1974 -3.6 -3.3 -2.0 17 -2 0
1975 -2.7 -3.7 0.1 -1 -13 10
1976 -2.4 -7.6 -2.2 5 9 -30
作典型相关分析:Dec,Jan 和 Feb 作为第一组变量,high7、high4 和 high8 是第二组,
采用以下程序
data temperat;
input year Dec Jan Feb high7 high4 high8;
219
SAS 操作入门 编者:江南大学 吴有炜 220
cards;
1951 1.0 -2.7 -4.3 4 -7 12
1952 -5.3 -5.9 -3.5 0 21 5
1953 -2.0 -3.4 -0.8 6 -9 5
1954 -5.7 -4.7 -1.1 10 17 6
1955 -0.9 -3.8 -3.1 1 5 11
1956 -5.7 -5.3 -5.9 -3 1 -12
1957 -2.1 -5.0 -1.6 -15 3 13
1958 0.6 -4.3 -0.2 10 -3 0
1959 -1.7 -5.7 2.0 -9 -5 -14
1960 -3.6 -3.6 1.3 11 -3 18
1961 -3.0 -3.1 0.8 5 -15 4
1962 0.1 -3.9 -1.1 8 12 1
1963 -2.6 -3.0 -5.2 11 3 -3
1964 -1.4 -4.9 -1.7 -11 -8 7
1965 -3.9 -5.7 -2.5 -18 6 -6
1966 -4.7 -4.8 -3.3 -9 -6 15
1967 -6.0 -5.6 -4.9 4 0 -20
1968 -1.7 -6.4 -5.1 -7 -2 -15
1969 -3.4 -5.6 -2.0 4 17 -23
1970 -3.1 -4.2 -2.9 9 -16 23
1971 -3.8 -4.9 -3.9 -13 5 -2
1972 -2.0 -4.1 -2.4 7 0 10
1973 -1.7 -4.2 -2.0 27 -11 4
1974 -3.6 -3.3 -2.0 17 -2 0
1975 -2.7 -3.7 0.1 -1 -13 10
1976 -2.4 -7.6 -2.2 5 9 -30
;
proc cancorr all; /*PROC CANCORR 语句指示 SAS 对数据集 FIT 作典型相关分析,其中 ALL
选项要求输出所有计算结果*/
例 9.1.3
220
SAS 操作入门 编者:江南大学 吴有炜 221
第二节 利用分析员应用系统
221
SAS 操作入门 编者:江南大学 吴有炜 222
⇒ Canonical Correlation… ⇒
进入典型相关分析主窗口 Canonical Correlation
⇒ 第一组原始变量 weight,vaist,pulse→Set 1
⇒ 第二组原始变量 chine,situps,jumps→Set 2
若 ⇒ Titles ⇔ (命名) ⇒ OK
222
SAS 操作入门 编者:江南大学 吴有炜 223
⇒ OK 输出部分结果如下:
习题九
data data91;
input x1-x5 @@;
label x1='力学(闭)' x2='物理(闭)'
x3='代数(开)' x4='分析(开)' x5='统计(开)';
223
SAS 操作入门 编者:江南大学 吴有炜 224
n=_n_;
cards;
77 82 67 67 81 63 78 80 70 81 75 73 71 66 81 55 72 63 70 68
63 63 65 70 63 53 61 72 64 73 51 67 65 65 68 59 70 68 62 56
62 60 58 62 70 64 72 60 62 45 52 64 60 63 54 55 67 59 62 44
50 50 64 55 63 65 63 58 56 37 31 55 60 57 73 60 64 56 54 40
44 69 53 53 53 42 69 61 55 45 62 46 61 57 45 31 49 62 63 62
44 61 52 62 46 49 41 61 49 64 12 58 61 63 67 49 53 49 62 47
54 49 56 47 53 54 53 46 59 44 44 56 55 61 36 18 44 50 57 81
46 52 65 50 35 32 45 49 57 64 30 69 50 52 45 46 49 53 59 37
40 27 54 61 61 31 42 48 54 68 36 59 51 45 51 56 40 56 54 35
46 56 57 49 32 45 42 55 56 40 42 60 54 49 33 40 63 53 54 25
23 55 59 53 44 48 48 49 51 37 41 63 49 46 34 46 52 53 41 40
;
proc print data=data91;
run;
对比次子的头长(x3)和头宽(x4),试对长子的指标和次子的指标进行典型相关分析.
data data92;
input x1-x4;
cards;
191 155 179 145
195 149 201 152
181 148 185 149
183 153 188 149
176 144 171 142
208 157 192 152
189 150 190 149
197 159 189 152
188 152 197 159
192 150 187 151
179 158 186 148
183 147 174 147
174 150 185 152
190 159 195 157
188 151 187 158
163 137 161 130
195 155 183 158
186 153 173 148
181 145 182 146
175 140 165 137
192 154 185 152
174 143 178 147
176 139 176 143
197 167 200 158
224
SAS 操作入门 编者:江南大学 吴有炜 225
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
第十章 聚类分析
统计意义: 对于样本(向量)点集或指标(向量)点集定义两点间的距离及两类的距离,
然后进行分类
225
SAS 操作入门 编者:江南大学 吴有炜 226
第一节 对样本的聚类分析
1.系统聚类(cluster 过程)
var 待分析变量名串;
by 分组变量名串; /*须先用 proc sort ; by 分组变量名串;通过 by 对变量的值排序(数
值递增字母升序)按序分组,以组为单位求统计量,因而不适用取值中文的变量 例 若有分组
变量名串 sex(分 male、female) month(分 feb、jan)则按 sex 的二种情况: male、female 与
month 的二种情况: feb、jan 的四种交叉组合进行分组统计*/
例 10.1.1
对于北京地区 1951~1961 年 11 年的冬季 12 月、1 月、2 月三个月的气温进
行聚类分析. 共采用五种聚类方法;类平均法、重心法、密度估计法、最小距离法和 Ward
法. 可采用以下 SAS 程序.
data temperat;
input year Dec Jan Feb;
cards;
1951 1.0 -2.7 -4.3
1952 -5.3 -5.9 -3.5
1953 -2.0 -3.4 -0.8
1954 -5.7 -4.7 -1.1
1955 -0.9 -3.8 -3.1
1956 -5.7 -5.3 -5.9
1957 -2.1 -5.0 -1.6
1958 0.6 -4.3 -0.2
1959 -1.7 -5.7 2.0
1960 -3.6 -3.6 1.3
1961 -3.0 -3.1 -0.8
;
proc cluster /*系统聚类*/ data = temperat method=average;/*类平均法*/
var Dec Jan Feb;
id year;
proc tree horizontal /*水平树*/spaces=2/*树上节点间的空隙*/; id year;/*年为样本*/
proc cluster data=temperat method=centroid;/*重心法*/
var Dec Jan Feb;
id year;
proc tree horizontal spaces=2; id year;
226
SAS 操作入门 编者:江南大学 吴有炜 227
227
SAS 操作入门 编者:江南大学 吴有炜 228
由聚类图或聚类历史(Cluster History)可以清楚地看到聚类过程和过程中的最小类距离.
事先可规定类距离阈值来确定分成几类,也可事先确定准备分的类数目.
2. 动态聚类 fastclus 过程
例 10.1.2
data temperat;
input year Dec Jan Feb;
cards;
1951 1.0 -2.7 -4.3
1952 -5.3 -5.9 -3.5
1953 -2.0 -3.4 -0.8
1954 -5.7 -4.7 -1.1
1955 -0.9 -3.8 -3.1
1956 -5.7 -5.3 -5.9
1957 -2.1 -5.0 -1.6
1958 0.6 -4.3 -0.2
1959 -1.7 -5.7 2.0
1960 -3.6 -3.6 1.3
1961 -3.0 -3.1 -0.8
;
228
SAS 操作入门 编者:江南大学 吴有炜 229
第二节 对指标变量聚类分析
1. 分割聚类 varclus 过程
例 10.2.1
229
SAS 操作入门 编者:江南大学 吴有炜 230
run;
(输出结果略)
例 10.2.2
中学生 8 个体型指标的聚类分析
data E101(type=corr);
title '在中学生中测量八个体型指标的相关系数';
label x1='身高' x2='手臂长' x3='上肢长'
x4='下腿长' x5='体重' x6='颈围'
x7='胸围' x8='胸宽';
input _name_ $ x1-x8;
_type_='corr';
cards;
x1 1.000 .846 .805 .859 .473 .398 .301 .382
x2 .846 1.000 .881 .826 .376 .326 .277 .415
x3 .805 .881 1.000 .801 .380 .319 .237 .345
x4 .859 .826 .801 1.000 .436 .329 .327 .365
x5 .473 .376 .380 .436 1.000 .762 .730 .629
x6 .398 .326 .319 .329 .762 1.000 .583 .577
x7 .301 .277 .237 .327 .730 .583 1.000 .539
x8 .382 .415 .345 .365 .629 .577 .539 1.000
;
(输出结果略)
例 10.2.3
/* 中学生 8 个体型指标的聚类分析
在中学生中测量八个体型指标的相关系数
230
SAS 操作入门 编者:江南大学 吴有炜 231
运行程序后输出了变换后的距离阵,并进行系统聚类,输出结果(部分)如下:
231
SAS 操作入门 编者:江南大学 吴有炜 232
习题十
(1) 用多种系统聚类分析方法分别对样品和指标进行分类
232
SAS 操作入门 编者:江南大学 吴有炜 233
10--2 对第十一章习题11—1到11—4的数据用多种系统聚类方法进行聚类分析
11--1 14 块岩石矿分成含矿(type=1),不含矿(type=0)测定三种指标(数据见程
序行)
data data111;
input type cu ag bi;
cards;
1 2.58 0.90 0.95
1 2.90 1.23 1.00
1 3.55 1.15 1.00
1 2.35 1.15 0.79
1 3.54 1.85 0.79
1 2.70 2.23 1.30
1 2.70 1.70 0.48
0 2.25 1.98 1.06
0 2.16 1.80 1.06
0 2.33 1.74 1.10
0 1.96 1.48 1.04
0 1.94 1.40 1.00
0 3.00 1.30 1.00
0 2.78 1.70 1.48
. 2.95 2.15 1.54
;
proc print;
run;
11--2 某学院用大学平均学分(GPA)和研究生管理才能测验(GMAT)两项指标录取研究生(数据
见程序行). 85 名考生分成三类(录取,不录取,未定).
data data112;
input obs type gpa gmat @@;
cards;
1 1 2.96 596 32 2 2.54 446 60 3 2.86 494
2 1 3.14 473 33 2 2.43 425 61 3 2.85 496
3 1 3.22 482 34 2 2.20 474 62 3 3.14 419
4 1 3.29 527 35 2 2.36 531 63 3 3.28 371
5 1 3.69 595 36 2 2.57 542 64 3 2.89 447
6 1 3.46 693 37 2 2.35 496 65 3 3.15 343
7 1 3.03 626 38 2 2.51 412 66 3 3.50 402
8 1 3.19 663 39 2 2.51 458 67 3 2.89 485
9 1 3.63 447 40 2 2.36 399 68 3 2.80 444
10 1 3.59 588 41 2 2.36 482 69 3 3.13 416
11 1 3.30 563 42 2 2.66 420 70 3 3.01 471
12 1 3.40 553 43 2 2.68 474 71 3 2.79 490
13 1 3.50 572 44 2 2.48 533 72 3 2.89 481
14 1 3.78 591 45 2 2.46 509 73 3 2.91 446
15 1 3.44 692 46 2 2.63 504 74 3 2.75 546
233
SAS 操作入门 编者:江南大学 吴有炜 234
data data113;
input x1-x4 type;
cards;
6.0 -11.5 19 90 1
-11.0 -18.5 25 -36 3
90.2 -17.0 17 3 2
-4.0 -15.0 13 54 1
0.0 -14.0 20 35 2
0.5 -11.5 19 37 3
-10.0 -19.0 21 -42 3
0.0 -23.0 5 -35 1
20.0 -22.0 8 -20 3
-100.0 -21.4 7 -15 1
-100.0 -21.5 15 -40 2
13.0 -17.2 18 2 2
-5.0 -18.5 15 18 1
10.0 -18.0 14 50 1
-8.0 -14.0 16 56 1
0.6 -13.0 26 21 3
-40.0 -20.0 22 -50 3
-8.0 -14.0 16 56 .
92.2 -17.0 18 3 .
-14.0 -18.5 25 -36 .
-36.0 -20.0 22 -50 .
;
proc print;
234
SAS 操作入门 编者:江南大学 吴有炜 235
run;
data data114;
input x1-x3 type ;
cards;
0.045 0.043 0.265 2
0.066 0.039 0.264 2
0.094 0.061 0.194 2
0.003 0.003 0.102 3
0.048 0.015 0.106 3
0.210 0.066 0.263 1
0.086 0.072 0.274 2
0.196 0.072 0.211 1
0.187 0.082 0.301 1
0.053 0.060 0.209 2
0.020 0.008 0.112 3
0.035 0.015 0.170 3
0.205 0.068 0.284 1
0.088 0.058 0.215 2
0.101 0.052 0.181 .
0.045 0.005 0.122 .
;
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
235
SAS 操作入门 编者:江南大学 吴有炜 236
练的样本集,现若另有一个样本,要判断是否可以认为它来自以上某个总体
第一节 距离判别法
例 11.1.1
解法一:
data E111;
236
SAS 操作入门 编者:江南大学 吴有炜 237
237
SAS 操作入门 编者:江南大学 吴有炜 238
马氏距离平方公式给出了A与B两类之间的距离平方为37.0286
检验H0:μ1=μ2的F统计量为14.46436,相应的P值为0.0059说明
零假设H0:μ1=μ2不成立即A类与B类的特征有显著差异
由选项list要求而列出的回判结果如下(由于待判样本开始时也被认为是一类称为’空类’,
故判别后形式上标明’Missclassified ’):
238
SAS 操作入门 编者:江南大学 吴有炜 239
下表对上表进行了总结(先验概率取为等概率),指出了没有发生误判(注意待判样本最初归
为一’空’类)
解法二:
data E112;
input x1-x4 group $;
cards;
13.85 2.79 7.80 49.60 A
22.31 4.67 12.31 47.80 A
28.82 4.63 16.18 62.15 A
15.29 3.54 7.50 43.20 A
28.79 4.90 16.12 58.10 A
2.18 1.06 1.22 20.60 B
3.85 0.80 4.06 47.10 B
11.40 0.00 3.50 0.00 B
3.66 2.42 2.14 15.10 B
12.10 0.00 5.68 0.00 B
; /*这儿先建立有训练的样本数据集*/
data E113;
input x1-x4 group $;
cards;
239
SAS 操作入门 编者:江南大学 吴有炜 240
例 11.2.1
胃癌的鉴别
三个总体:胃癌患者(group1),萎缩性胃炎患者(group2),非胃炎患者(group3)
data E114;
input group x1-x4 @@;
240
SAS 操作入门 编者:江南大学 吴有炜 241
cards;
1 228 134 20 11 1 245 134 10 40
1 200 167 12 27 1 170 150 7 8
1 100 167 20 14 2 225 125 7 14
2 130 100 6 12 2 150 117 7 6
2 120 133 10 26 2 160 100 5 10
3 185 115 5 19 3 170 125 6 4
3 165 142 5 3 3 135 108 2 12
3 100 117 7 2
;
proc print data=E114;
run;
下表为判别矩阵和错判信息
241
SAS 操作入门 编者:江南大学 吴有炜 242
例 11.2.2
表 15.6.1 历年观测资料
年份 X1 X2 X3 X4 原分类
1951 0.58 82.0 44.0 40.6 1
1952 0.40 83.0 18.0 43.0 2
1953 0.55 85.0 36.0 30.7 2
1954 0.40 85.0 36.0 40.7 2
年份 X1 X2 X3 X4 原分类
1955 0.48 88.0 49.0 43.0 2
1956 0.41 82.0 35.0 78.6 3
1957 0.65 80.0 29.0 33.2 1
1958 0.45 82.0 32.0 33.1 3
1959 0.39 81.0 27.0 46.5 3
1960 0.34 85.0 28.0 41.7 3
1961 0.42 84.0 38.0 20.4 3
1962 0.52 86.0 38.0 0.2 1
1963 0.46 88.0 25.0 56.7 2
1964 0.48 83.0 46.0 13.6 1
1965 0.53 84.0 41.0 32.3 1
1966 0.65 81.0 31.0 28.9 1
1967 0.66 83.0 38.0 46.6 1
1968 0.53 80.0 42.0 93.1 3
1969 0.56 85.0 18.0 16.3 3
1970 0.45 83.0 27.0 23.9 3
1971 0.34 80.0 42.0 26.3 3
1972 0.41 79.0 38.0 40.8 3
1973 0.53 83.0 23.0 61.3 3
1974 0.48 84.0 19.0 23.2 2
1975 0.30 85.0 27.0 17.5 2
242
SAS 操作入门 编者:江南大学 吴有炜 243
表 15.6.2 检验数据(即作为待判样品)
年份 X1 X2 X3 X4 原分类
1976 0.42 81.0 21.0 52.2 3
1977 0.52 81.0 38.0 45.8 1
1978 0.36 82.0 34.0 34.9 2
1979 0.43 84.0 34.0 60.5 3
data rainfall;
title’ Discriminant Analisis of Rainfall data 雨量数据进行判别分析’;
input year x1-x4 species;
cards;
1951 0.58 82.0 44.0 40.6 1
1952 0.40 83.0 18.0 43.0 2
1953 0.55 85.0 36.0 30.7 2
1954 0.40 85.0 36.0 40.7 2
1955 0.48 88.0 49.0 43.0 2
1956 0.41 82.0 35.0 78.6 3
1957 0.65 80.0 29.0 33.2 1
1958 0.45 82.0 32.0 33.1 3
1959 0.39 81.0 27.0 46.5 3
1960 0.34 85.0 28.0 41.7 3
1961 0.42 84.0 38.0 20.4 3
1962 0.52 86.0 38.0 0.2 1
1963 0.46 88.0 25.0 56.7 2
1964 0.48 83.0 46.0 13.6 1
1965 0.53 84.0 41.0 32.3 1
1966 0.65 81.0 31.0 28.9 1
1967 0.66 83.0 38.0 46.6 1
1968 0.53 80.0 42.0 93.1 3
1969 0.56 85.0 18.0 16.3 3
1970 0.45 83.0 27.0 23.9 3
1971 0.34 80.0 42.0 26.3 3
1972 0.41 79.0 38.0 40.8 3
1973 0.53 83.0 23.0 61.3 3
1974 0.48 84.0 19.0 23.2 2
1975 0.30 85.0 27.0 17.5 2
1976 0.42 81.0 21.0 52.2 3
1977 0.52 81.0 38.0 45.8 1
1978 0.36 82.0 34.0 34.9 2
1979 0.34 84.0 34.0 60.5 3
;
proc discrim /*最大概率判别*/ data=rainfall outstat=info method=normal list;
/*选项 list 要求输出回代的判别结果*/
class species;
var x1-x4;
id year;
title2 ‘Using normal estmates with using covarince matrix 用协方差阵进行标
准估计’;
243
SAS 操作入门 编者:江南大学 吴有炜 244
(输出结果略)
第三节 非参数法
例 11.3.1
胃癌的鉴别
三个总体:胃癌患者(group1),萎缩性胃炎患者(group2),非胃炎患者(group3)
运行部分结果如下:
两两配对的组间距离及均值差异的显著性检验 若采用选项k=数目即用样本点
邻近的k个观测点来估计密度
(本例r= 取成0.01----0.9输出结果都一样) 函数(最近邻法)本例
k=1时回代结果全对,但k≥2回代则出
误判,下表为k=3的判别结果
244
SAS 操作入门 编者:江南大学 吴有炜 245
第四节 Candisc(典型判别)过程
例 11.4.1
胃癌的鉴别
三个总体:胃癌患者(group1),萎缩性胃炎患者(group2),非胃炎患者(group3)
统计意义:各有序典型变量(内部两两正交)是原指标变量集的线性组合且依次与分类变
量在样本的归类上有着最大相关,先用 Candisc 过程求得顺序典型变量,然后分类变量根据新
指标集(降维的典型变量)用 discrim 过程进行归类判别
data E116;
input group x1-x4 @@;
cards;
1 228 134 20 11 1 245 134 10 40
1 200 167 12 27 1 170 150 7 8
1 100 167 20 14 2 225 125 7 14
2 130 100 6 12 2 150 117 7 6
2 120 133 10 26 2 160 100 5 10
3 185 115 5 19 3 170 125 6 4
3 165 142 5 3 3 135 108 2 12
3 100 117 7 2
;
proc candisc data=E116 out=can116 ncan=2 distance simple;/*选项ncan=2要求调用2
个典型变量*/
class group;
var x1-x4;
245
SAS 操作入门 编者:江南大学 吴有炜 246
run;
下表为用两个典型变量为判别指标对样本的判别结果(并标明了误判情况用*标记):
246
SAS 操作入门 编者:江南大学 吴有炜 247
第五节 Stepdisc(逐步判别)过程
例 11.5.1
胃癌的鉴别
三个总体:胃癌患者(group1),萎缩性胃炎患者(group2),非胃炎患者(group3)
data E117;
input group x1-x4 @@;
cards;
1 228 134 20 11 1 245 134 10 40
1 200 167 12 27 1 170 150 7 8
1 100 167 20 14 2 225 125 7 14
2 130 100 6 12 2 150 117 7 6
2 120 133 10 26 2 160 100 5 10
3 185 115 5 19 3 170 125 6 4
3 165 142 5 3 3 135 108 2 12
3 100 117 7 2
;
proc stepdisc data=E117; /* proc stepdisc逐步判别进行变量删选*/
class group;
var x1-x4;
run;
/*(输出结果保留变量集为{x2,x3})*/
proc discrim data=E117 list;
class group;
var x2 x3;
run;
程序第一步先进行了判别指标的删选,输出的下表表明x2、x3被保留了而x1、x4被删除了:
247
SAS 操作入门 编者:江南大学 吴有炜 248
以下为用保留指标集{x2,x3}对样本的判别结果:
习题十一
11-1 14 块岩石矿分成含矿(type=1),不含矿(type=0)测定三种指标(数据见程序行)
data data111;
input type cu ag bi;
cards;
1 2.58 0.90 0.95
1 2.90 1.23 1.00
248
SAS 操作入门 编者:江南大学 吴有炜 249
(2) 今有一样品指标为(2.95,2.15,1.54)判别有无含矿
11-2 某学院用大学平均学分(GPA)和研究生管理才能测验(GMAT)两项指标录取研究生(数据见
程序行). 85 名考生分成三类(录取,不录取,未定). 用判别分析方法导出判别函数对 85
名报考者进行判别归类;若另有一名指标为(3.21,497)是否录取?
data data112;
input obs type gpa gmat @@;
cards;
1 1 2.96 596 32 2 2.54 446 60 3 2.86 494
2 1 3.14 473 33 2 2.43 425 61 3 2.85 496
3 1 3.22 482 34 2 2.20 474 62 3 3.14 419
4 1 3.29 527 35 2 2.36 531 63 3 3.28 371
5 1 3.69 595 36 2 2.57 542 64 3 2.89 447
6 1 3.46 693 37 2 2.35 496 65 3 3.15 343
7 1 3.03 626 38 2 2.51 412 66 3 3.50 402
8 1 3.19 663 39 2 2.51 458 67 3 2.89 485
9 1 3.63 447 40 2 2.36 399 68 3 2.80 444
10 1 3.59 588 41 2 2.36 482 69 3 3.13 416
11 1 3.30 563 42 2 2.66 420 70 3 3.01 471
12 1 3.40 553 43 2 2.68 474 71 3 2.79 490
13 1 3.50 572 44 2 2.48 533 72 3 2.89 481
14 1 3.78 591 45 2 2.46 509 73 3 2.91 446
15 1 3.44 692 46 2 2.63 504 74 3 2.75 546
16 1 3.48 528 47 2 2.44 336 75 3 2.78 467
17 1 3.47 552 48 2 2.13 408 76 3 3.12 462
18 1 3.35 520 49 2 2.41 469 77 3 3.08 440
19 1 3.39 543 50 2 2.55 538 78 3 3.03 419
20 1 3.28 523 51 2 2.31 505 79 3 3.00 509
249
SAS 操作入门 编者:江南大学 吴有炜 250
data data113;
input x1-x4 type;
cards;
6.0 -11.5 19 90 1
-11.0 -18.5 25 -36 3
90.2 -17.0 17 3 2
-4.0 -15.0 13 54 1
0.0 -14.0 20 35 2
0.5 -11.5 19 37 3
-10.0 -19.0 21 -42 3
0.0 -23.0 5 -35 1
20.0 -22.0 8 -20 3
-100.0 -21.4 7 -15 1
-100.0 -21.5 15 -40 2
13.0 -17.2 18 2 2
-5.0 -18.5 15 18 1
10.0 -18.0 14 50 1
-8.0 -14.0 16 56 1
0.6 -13.0 26 21 3
-40.0 -20.0 22 -50 3
-8.0 -14.0 16 56 .
92.2 -17.0 18 3 .
-14.0 -18.5 25 -36 .
-36.0 -20.0 22 -50 .
;
proc print;
250
SAS 操作入门 编者:江南大学 吴有炜 251
run;
(2) 对另外二个观测点用马氏距离法进行判别归类
data data114;
input x1-x3 type ;
cards;
0.045 0.043 0.265 2
0.066 0.039 0.264 2
0.094 0.061 0.194 2
0.003 0.003 0.102 3
0.048 0.015 0.106 3
0.210 0.066 0.263 1
0.086 0.072 0.274 2
0.196 0.072 0.211 1
0.187 0.082 0.301 1
0.053 0.060 0.209 2
0.020 0.008 0.112 3
0.035 0.015 0.170 3
0.205 0.068 0.284 1
0.088 0.058 0.215 2
0.101 0.052 0.181 .
0.045 0.005 0.122 .
;
251
SAS 操作入门 编者:江南大学 吴有炜 252
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
附录一:教材<<试验设计与数据处理>>中
SAS 的例
第四章方差分析与协方差分析
1. 例.4.1.3
(两因素考虑交互作用的方差分析的例)
表 4.1.3 火箭的射程
推进器(M) M1 M2 M3
58. 2 56. 2 65. 3
燃料(F) F1
52. 6 41. 2 60. 8
252
SAS 操作入门 编者:江南大学 吴有炜 253
do rep=1 to 2;
input R @@; /*注: @@可以使数据连续输入*/
output;
end;
end;
end; /* 用三个 do---end 语句输入带三个下标的一维变量 Rfmr(f=1-4;m=1-3;r=1,2)(两因素+重
复)*/
cards;
58.2 52.6 56.2 41.2 65.3 60.8
49.1 42.8 54.1 50.5 51.6 48.4
60.1 58.3 70.9 73.2 39.2 40.7
75.8 71.5 58.2 51.0 48.7 41.4
;
proc glm data=rockey;
class f m; /* class 语句说明对分类变量 f,m 分析*/
model r=f m f * m; /*模型: 连续变量 r;考虑因素 f,m 及交互 f*m*/
lsmeans f m f * m;
run;
2. 例.4.3.1
(单因素有一个协变量的协方差分析的例)
表 4.3.1 猪体重增长数据
x 15 13 11 12 12 16 14 17
A1
y 85 83 65 76 80 91 84 90
x 17 16 18 18 21 22 19 18
A2
y 97 90 100 95 103 106 99 94
x 22 24 20 23 25 27 30 32
A3
y 89 91 83 95 100 102 105 110
data pig;
input a $ @; /* 输入字符变量 A+数组@(do---end 语句实际给出@相当于 x1y1x2y2…x8y8)*/
do i=1 to 8;
input x @; /* 用 input x @; input y @;输入向量(x,y) */
input y @;
output;
253
SAS 操作入门 编者:江南大学 吴有炜 254
end;
cards;
A1 15 85 13 83 11 65 12 76 12 80 16 91 14 84 17 90
A2 17 97 16 90 18 100 18 95 21 103 22 106 19 99 18 94
A3 22 89 24 91 20 83 23 95 25 100 27 102 30 105 32 110
;
proc glm data=pig;
class a ;
model y=a x/solution; /*模型: 连续(响应)变量 y=分类变量 a ,协变量 x(用/solution 表示) */
lsmeans a; /*用最小误差平方和法估计的均值估计 a*/
means a; /*求出 a 中各组的均值*/
run;
/*注:以上数据输入还可用以下方法:
方法二:用二个 do---end 语句输入二个下标的二维向量(x,y)ai
(a=1,2,3;i=1-8) (下标: 单因素+重复)*/
data pig1;
do A=1 to 3; /* 注:1)顺序(外层 ⇒ 内层): 行 ⇒ 重复 ⇒ 向量*/
do rep=1 to 8; /* 2)向量(x,y)的输入: input x @; input y @;*/
input y @;
input x @;
output;
end;
end;
cards;
15 85 13 83 11 65 12 76 12 80 16 91 14 84 17 90
17 97 16 90 18 100 18 95 21 103 22 106 19 99 18 94
22 89 24 91 20 83 23 95 25 100 27 102 30 105 32 110
;
run;
254
SAS 操作入门 编者:江南大学 吴有炜 255
3. 例 4.3.2
(两因素考虑交互且有一个协变量的协方差分析的例)
表 4.3.3 合成纤维弹性
A1 A2 A3 A4
x 49. 0 49. 2 49. 8 49. 8 49. 9 49. 8 49. 7 49. 8
B1
y 71 73 73 75 76 73 75 73
x 49. 5 49. 3 49. 9 49. 8 50. 2 50. 1 49. 4 49. 4
B2
y 72 73 76 74 79 77 73 72
x 49. 7 19. 5 50. 1 50. 0 49. 7 50. 0 49. 5 49. 6
B3
y 75 73 78 77 74 75 70 71
x 49. 7 49. 7 49. 6 49. 3 49. 5 49. 2 49. 0 48. 9
B4
y 77 75 74 74 74 73 69 69
程序
data fab;
do b = 1 to 4;
do a = 1to 4;
4. 习题 4.3
为了检验雌激素及施用时间对动物血浆(plasma)的影响,采用两个因子,服从时间(time)
和剂量(dose). time 有两个水平:am 和 pm; dose 有两个水平:施用(t)与不施(c),做 5 次重
255
SAS 操作入门 编者:江南大学 吴有炜 256
复试验,得数据如下表.
剂量
时间
c t
am 8. 13 20. 53 12. 53 14. 00 10. 80 17. 53 21. 07 20. 80 17. 33 20. 07
pm 39. 14 26. 20 31. 33 45. 80 40. 20 32. 00 23. 80 28. 87 25. 06 29. 23
为了分析因子的作用,执行下列 SAS 程序
data lambs;
input time $ dose $ plasma;
cards;
am c 8.13
am c 20.53
am c 12.53
am c 14.00
am c 10.80
am t 17.53
am t 21.07
am t 20.80
am t 17.33
am t 20. 07
pm c 39. 14
pm c 26.24
pm c 31.33
pm c 45.80
pm c 40.20
pm c 32.00
pm c 23.00
pm c 28.87
pm c 25.06
pm c 29.23
;
proc means data=lambs;
by time dose;
output out = lambmean mean = plasmean;
proc plot data = lambmean;
plot plasmean * time = dose;
proc glm data = lambs;
class time dose;
model plasma = time dose time * dose;
proc glm data = lambs;
class dose;
model plasma = dose;
run;
256
SAS 操作入门 编者:江南大学 吴有炜 257
5. 习题 4.4
某园艺家研究花的品种(V)和温度(m)对鲜花产量(y)的影响,由于试验的地块不一样大,
她决定引用面积 x 为协变量,m 与 V 各取两个水平 1 和 2,对其 4 种组合各试验 6 次,得
下表.
V m X Y
1 1 15 98
1 1 4 60
1 1 7 77
1 1 9 80
1 1 14 95
1 1 5 65
1 2 10 71
1 2 12 80
1 2 14 86
1 2 13 82
1 2 2 46
1 2 3 35
2 1 4 55
2 1 5 60
2 1 8 75
2 1 7 65
2 1 13 87
2 1 11 78
2 2 11 76
2 2 10 68
2 2 2 43
2 2 3 47
2 2 7 62
2 2 9 70
为作协方差分析,执行程序 SAS
data flowers;
do v=1 to 2;
do m= 1 to 2;
do block=1 to 6;
input X Y @ @;
output;
end;
end;
end;
cards;
15 98 4 60 7 77 9 80 14 95
5 65 10 71 12 80 14 86 13 82
2 46 3 35 4 55 5 60 8 75
7 65 13 87 11 78 11 76 10 68
2 43 3 47 7 62 9 70
;
Run;
proc glm;
class v m;
model y= v m v * m x/solution;
257
SAS 操作入门 编者:江南大学 吴有炜 258
第六章回归分析
多元线性回归
1. 例 6.4.1
研究某一地区土壤中含植物可给态磷的情况. 设 y 是 35℃时土壤中可给态磷含量;x1
是土壤中所含无机盐浓度;x2 是土壤中溶于 K2CO3 溶液并受溴化物水解的有机磷;x3 是土
壤中溶于 K2CO3 溶液但不溶于溴化物的有机磷,经 18 次测量得数据表(略,见程序),求
x1,x2,x3 对 y 的线性回归方程.
解:回归模型是
y = b0 + b1 x1 + b2 x2 + b3 x3 + ε
为了估计 b0,b1,b2,b3,我们采用 SAS 程序*/
data pcontent;
input x1-x3 y;
cards;
0.4 52 158 64
0.4 23 163 60
3.1 19 37 71
0.6 34 157 61
4.7 24 59 54
1.7 65 123 77
9.4 44 46 81
10.1 31 117 93
11.6 29 173 93
12.6 58 112 51
10.9 37 111 76
23.1 46 114 96
23.1 50 134 77
21.6 44 73 93
23.1 56 168 95
1.9 36 143 54
26.8 58 202 168
29.9 51 124 99
;
258
SAS 操作入门 编者:江南大学 吴有炜 259
2. 例 6.5.1(逐步回归求最优回归方程)
表 6.5.1 预报入霉期气象资料
SAS 程序*/
data rumay;
input x1-x6 y;
cards;
31 7 16 5 4 265 23
30 5 4 7 4 262 23
33 10 0 0 0 258 3
25 4 6 0 6 262 20
26 6 12 5 7 260 26
27 9 19 4 9 266 27
27 7 19 4 5 259 19
31 13 4 2 2 257 6
31 8 1 0 2 266 16
28 14 0 0 4 265 22
25 16 18 4 7 268 24
30 12 5 2 4 262 30
24 5 22 9 8 264 28
28 3 19 2 4 262 24
30 0 0 0 0 264 24
27 2 14 4 8 259 30
26 10 7 3 9 262 17
30 11 1 0 2 260 9
28 6 7 0 5 260 20
29 9 22 1 5 259 16
32 13 0 0 1 263 9
20 7 12 0 5 251 16
34 7 6 0 3 257 16
;
Proc reg data=rumay;
Model y=x1-x6/selection=stepwise; /* selection=stepwise 逐步回归选项*/
Run;
/* 多项式回归转化为线性回归
259
SAS 操作入门 编者:江南大学 吴有炜 260
3. 例 6.6.1
data corn;
do x=2 to 3 by 0.25 ;
do y = 6 to 4 by -0.5 ;
input h @@;
t1=x;t2=y;t3=x*x;t4=x*y;t5=y*y; /*将多项式回归转化为线性回归的方法*/
output;
end;
end;
cards;
-11 0 10 20 31 -11 -1 9 19 30
-12 -2 8 19 29 -13 -2 7 18 28
260
SAS 操作入门 编者:江南大学 吴有炜 261
-14 13 6 17 27
;
proc reg data=corn;
model h=t1-t5;
run;
/* 非线性回归
形如:
proc nlin data =…;
model 因变量 = 非线性函数表达式;
parms 参数 1=初值 参数 2=初值 … ;
der.参数 1=偏导表达式 ;
der.参数 2=偏导表达式 ;
…………… ;
runs;
4. 例 6.8.1(非线性回归)
261
SAS 操作入门 编者:江南大学 吴有炜 262
der.b=-a*zz*term;
der.c=a*x*zz*term;
run;
5. 例 6.8.2(非线性回归)
y=cx1/(1+ax1+bx2)
表 6.8.2 化学反应速度
x1 x2 y
1.0 1.0 0.126
2.0 1.0 0.219
1.0 2.0 0.076
2.0 2.0 0.126
0.1 0.0 0.186
262
SAS 操作入门 编者:江南大学 吴有炜 263
dn=1+ax1+bx2,
cx 1
term = .
则 dn
∂ cx 2 term * x1
term = − 21 = − ,
∂a d n dn
∂ term * x 2
term = − ,
∂b dn
∂
term = x1 / dn .
于是,我们用程序*/ ∂c
proc nlin data=c1; /*调用 nlin 进行非线性回归*/
dn=1+a*x1+b*x2; /*简化记号*/
term=c*x1/dn; /*简化记号*/
model y =term; /*因变量=非线性函数表达式*/
parms a=0.982126 b=5.653542 c=0.935412; /*用线性模型的参数作为非线性模型参
数初值*/
der.c=x1/dn; /*给出参数的一阶偏导表达式*/
der.b=-term*x2/dn;
der.a=-term*x1/dn;
run;
第十三章 主成份分析
1. 例 13.3.1
263
SAS 操作入门 编者:江南大学 吴有炜 264
264
SAS 操作入门 编者:江南大学 吴有炜 265
2. 习题 13.1
分析美国犯罪情况,统计 7 种罪行的犯罪率,分别为:Murder(谋杀)、Rape(强奸)、
Robbery(抢劫)、Assault(斗殴)、Burglary(夜盗罪)、Larceny(偷窃)、
Auto(汽车犯罪)。以各州平均每 100,000 人犯罪人数为 7 个变量的观察数据,做主成分分
析。
SAS程序过程:
data crime;
title 'Crime Rates per 100000 population by State';
input state $1-15 murder rape robbery assault burglary larceny auto;
cards;
Alabama 14.2 25.2 96.8 278.3 1135.5 1181.9 280.7
Alaska 10.8 51.6 96.8 284.0 1331.7 3369.8 753.3
Arizona 9.5 34.2 138.2 312.3 2346.1 4467.4 439.5
Arkansas 8.8 27.6 83.2 203.4 972.6 1862.1 183.4
California 11.5 49.4 287.0 358.0 2139.4 3499.8 663.5
Colorada 6.3 42.0 170.0 292.9 1935.2 3903.2 477.1
Connectieat 4.2 16.8 129.5 131.8 1346.0 2620.7 593.2
265
SAS 操作入门 编者:江南大学 吴有炜 266
3. 习题 13.2
彩色胶卷显影液质量控制问题:将胶卷在不同的情况下曝光,再通过色片进行测量,
266
SAS 操作入门 编者:江南大学 吴有炜 267
高 中 低
红 绿 蓝 红 绿 蓝 红 绿 蓝
177 179 95 96 53 32 -7 -4 -3
419 245 131 181 127 -2 1 4
302 60 109 142 4 4 11
158 102 42 4 3 2
137 96 4 5 6
128 2 2 8
34 31 33
39 89
48
输入协差阵的 SAS 程序可以这样写
data film (type=cov);
_type_ = ’cov’;
input _name_ $ x1-x9;
cards;
x1 117 . . . . . . . . /*输入相关阵或协方差阵时省略号必须有且点数必须正确*/
x2 179 419 . . . . . . .
x3 95 245 302 . . . . . .
x4 96 131 60 158 . . . . .
x5 53 181 109 102 137 . . . .
x6 32 127 142 42 96 128 . . .
x7 -7 -2 4 4 4 42 34 . .
x8 -4 1 4 3 5 2 31 39 .
x9 -3 4 11 2 6 8 33 89 48
;
proc princomp cov;
var x1-x9;
run;
第十三章 因子分析
1. 例 13.5.1
/* 选拔职员对应聘人员测验 6 门科目:
267
SAS 操作入门 编者:江南大学 吴有炜 268
_type_=’corr’;
input name $x1 x2 x3 y1 y2 y3;
cards;
x1 1 . . . . .
x2 .72 1 . . . .
x3 .63 .57 1 . . .
y1 .09 .15 .14 1 . .
y2 .09 .16 .15 .57 1 .
y3 .00 .09 .09 .63 .72 1
;
proc factor data =score;/* 调用因子分析过程对相关阵作因子分析,提取因子的方法
method=缺省,所以作主成分因子分析. */
var x1 x2 x3 y1 y2 y3;
title ’principal component analysis’;
run;
proc factor data =score priors =max n=2 /*没有规定提取因子的方法, 但规定了每一变
量共通性的预估值 PRIORS=为每一变量同其它
变量相关系数绝对值的最大值(PRIORS=MAX),
所以执行主因子分析, 同时要求提取两个因子
(n=2)*/
preplot rotate=varimax plot outstat=fact;/* 要求印出未经旋转的因子负荷矩阵;产
生方差最大旋转;印出旋转后的因子负荷矩阵*/
var x1 x2 x3 y1 y2 y3;
, ,
title2 principal factor analysis with varimax rotation ;
proc print data=fact;/* 打印旋转后的因子模型图*/
run;
以上程序 DATA 步用以建立名为 SCORE 数据库,其类型为 CORR 即相关阵,其中
x1,x2,x3 分别表示词汇、阅读、同义词,y1, y2, y3 分别表示算术、代数、微积分.
第一个 PROC FACTOR 语句用来调用因子分析过程对相关阵作因子分析,提取因子的
方法缺省,所以作主成分因子分析. 其输出结果见下表:
第二个 PROC FACTOR 语句中没有规定提取因子的方法, 但规定了先验公因子方差
估计, 使用它同其余任一变量相关的最大值(PRIORS=MAX), 所以此时执行主因子分析,
同时要求提取两个因子(n=2), 还要求打印没有旋转的因子模型图(PREPLPOT). POTATE=V
要求产生方差最大旋转,PLOT 要打印旋转后的因子模型图. 此程序的丰富输出结果见下列
诸表:
2. 习题 13.2
表 11 项特征指标发展速度(1)
268
SAS 操作入门 编者:江南大学 吴有炜 269
资料来源:
《中国统计年鉴》1988~1992; 《中国统计年鉴》1988~1992. 可以采用如
下 SAS 程序.*/
data ecm;
input y x1-x11 @ @;
cards;
1953 1.2227 1.2037 1.0695 1.2992 2.1009 1.3177 1.2572 1.2134 1.4372 1.4372 1.2463
1954 1.0846 1.0550 1.2061 1.2152 1.1212 1.0978 1.0951 1.1772 1.0457 1.0457 1.3715
1955 1.0513 1.0535 1.1650 1.0937 1.0243 1.1012 1.0291 1.0366 0.98716 0.97816 1.1062
1956 1.1583 1.1193 1.1298 1.2053 1.5285 1.4577 1.1754 1.0566 1.4218 1.4218 1.1454
1957 0.97987 1.0295 1.1964 1.1376 0.94030 1.2030 1.0286 1.0793 0.92147 0.92147 1.1864
1958 0.13313 1.2313 2.0125 1.3536 1.8459 1.1048 1.1556 1.2495 1.2841 1.2841 1.7214
1959 1.1918 1.0930 1.3687 1.3355 1.3185 1.2481 1.1642 1.2567 1.1077 1.1077 1.3707
1960 1.0514 0.99863 1.0912 1.1207 1.1321 1.1277 1.0923 1.1749 1.2770 1.2770 1.2138
1961 0.73834 0.81639 0.71613 0.71613 0.37470 0.94607 0.87200 0.62223 1.3107 1.3107 0.82946
1962 0.91001 0.92771 0.80970 0.85116 0.55926 0.90595 0.99391 0.88065 0.84726 0.84726 0.84891
1963 1.0867 1.0823 0.98976 1.0501 1.3368 0.98270 1.0008 1.0915 0.84413 0.84413 0.83272
1964 1.1595 1.1660 1.0131 1.1716 1.4216 1.0552 1.0557 1.1671 0.88988 0.88988 1.0192
1965 1.1883 1.1895 1.0924 1.2592 1.3074 1.0705 1.0503 1.1847 1.1350 1.1350 1.1183
1966 1.1362 1.1435 1.1067 1.1264 1.1747 1.0496 1.0932 1.1804 1.1949 1.1949 1.1676
1967 0.90594 0.93758 0.83973 0.78156 0.73666 1.0405 1.0514 0.75067 1.1235 1.1235 1.0538
1968 0.95498 0.95158 1.0689 1.0193 0.80767 1.0120 0.95691 0.86147 1.1001 1.1001 1.1176
1969 1.2024 1.1428 1.2345 1.2075 1.6286 1.0340 1.0871 1.4581 1.0224 1.0224 1.0620
1970 1.9535 1.1911 1.3413 1.2163 1.4909 1.0363 1.0750 1.2584 0.90153 0.90153 1.0930
1971 1.1061 1.0784 1.1387 1.1397 1.1337 1.0888 1.0830 1.1234 1.1019 1.1019 1.0779
1972 1.0459 1.0284 1.0707 1.0846 0.98922 1.1253 1.1013 1.0294 1.1101 1.1101 1.0285
1973 1.0864 1.0852 1.0590 1.1152 1.0613 1.0476 1.0815 1.0562 1.0560 1.0985 1.1077
1974 1.0174 1.0129 1.0403 1.0032 1.0573 1.0298 1.0514 0.96715 0.97714 0.1032 1.0666
1975 1.1070 1.0660 1.1712 1.1555 1.1764 1.0489 1.0924 1.0415 1.0381 1.0340 1.0807
1976 1.0100 0.96964 1.0325 0.94627 0.96146 1.0554 1.0537 0.95218 0.98209 1.1172 1.0541
1977 1.1049 1.0894 1.1203 1.1543 1.0466 1.0523 1.0697 1.1261 1.0463 0.95784 1.0788
1978 1.1404 1.1384 1.1130 1.2334 1.2196 1.1051 1.0878 1.2820 1.3171 1.0850 1.1122
1979 1.1163 1.1130 1.0285 1.1583 1.0459 1.1368 1.1549 0.98412 1.1466 1.2627 1.1025
1980 1.1167 1.1009 0.98719 1.0563 1.0665 1.1944 1.1889 0.98359 0.95096 0.2932 1.1837
1981 1.0634 1.0686 0.992503 1.0097 0.89489 1.0616 1.0981 1.0041 0.91944 1.1447 1.1451
1982 1.0982 1.0804 1.0562 1.0746 1.2664 1.0756 1.0936 1.0316 1.0343 1.1080 1.1505
1983 1.1169 1.1123 1.0673 1.0770 1.1262 1.0596 1.1087 1.1112 1.1207 1.2066 1.1287
1984 1.1833 1.1934 1.0924 1.1167 1.2450 1.2127 1.1850 1.2025 1.1964 1.4951 1.3276
1985 1.2605 1.2420 1.0988 1.1150 1.4179 1.2202 1.2750 1.2427 1.1930 1.2471 1.2391
1986 1.1496 1.1195 1.0301 1.1116 1.1773 1.2001 1.1498 1.2110 1.2634 1.2334 1.2854
1987 1.2094 1.1850 1.0357 1.1032 1.1615 1.1334 1.1758 1.0480 1.0505 1.1938 1.1899
1988 1.2931 1.2604 1.0497 1.0718 1.2023 1.2313 1.2784 1.1094 1.1054 1.4675 1.1681
1989 1.1565 1.1225 1.0609 1.0741 0.91773 1.1305 1.0899 1.1217 1.1233 1.0981 1.1761
1990 1.1019 1.0917 1.0225 1.0241 1.1551 1.1270 1.0245 1.1237 1.1355 1.1282 1.2222
1991 1.1516 1.1205 1.0089 1.0679 1.2431 1.1263 1.1344 1.0901 1.1047 1.2017 1.1897
;
proc factor data=ecm outstat =ecfact;
var X1-X11;
proc factor data=ecm priors=max n=2
rotate=v;
var X1-X11;
proc print data=ecfact;
run;
/*试分析输出结果. 如果结果不好,可再作别的旋转.*/
269
SAS 操作入门 编者:江南大学 吴有炜 270
第十五章 系统聚类
1. 例 15.2.1
data temperat;
input year Dec Jan Feb;
cards;
1951 1.0 -2.7 -4.3
1952 -5.3 -5.9 -3.5
1953 -2.0 -3.4 -0.8
1954 -5.7 -4.7 -1.1
1955 -0.9 -3.8 -3.1
1956 -5.7 -5.3 -5.9
1957 -2.1 -5.0 -1.6
1958 0.6 -4.3 -0.2
1959 -1.7 -5.7 2.0
1960 -3.6 -3.6 1.3
1961 -3.0 -3.1 -0.8
;
proc cluster /*系统聚类*/ data = temperat method=average;/*类平均法*/
var Dec Jan Feb;
id year;
proc tree horizontal /*水平树*/spaces=2/*树上节点间的空隙*/; id year;/*年为样本*/
proc cluster data=temperat method=centroid;/*重心法*/
var Dec Jan Feb;
id year;
proc tree horizontal spaces=2; id year;
270
SAS 操作入门 编者:江南大学 吴有炜 271
id year;
proc tree horizontal spaces=2; id year;
run;
2. 例 15.4.1(动态聚类)
3. 例 15.5.2 (变量分割聚类)
271
SAS 操作入门 编者:江南大学 吴有炜 272
第十五章 判别分析
1. 例 15.6.1
表 15.6.1 历年观测资料
年份 X1 X2 X3 X4 原分类
1951 0.58 82.0 44.0 40.6 1
1952 0.40 83.0 18.0 43.0 2
1953 0.55 85.0 36.0 30.7 2
1954 0.40 85.0 36.0 40.7 2
1955 0.48 88.0 49.0 43.0 2
1956 0.41 82.0 35.0 78.6 3
1957 0.65 80.0 29.0 33.2 1
1958 0.45 82.0 32.0 33.1 3
1959 0.39 81.0 27.0 46.5 3
1960 0.34 85.0 28.0 41.7 3
1961 0.42 84.0 38.0 20.4 3
1962 0.52 86.0 38.0 0.2 1
1963 0.46 88.0 25.0 56.7 2
1964 0.48 83.0 46.0 13.6 1
1965 0.53 84.0 41.0 32.3 1
1966 0.65 81.0 31.0 28.9 1
1967 0.66 83.0 38.0 46.6 1
1968 0.53 80.0 42.0 93.1 3
1969 0.56 85.0 18.0 16.3 3
1970 0.45 83.0 27.0 23.9 3
1971 0.34 80.0 42.0 26.3 3
1972 0.41 79.0 38.0 40.8 3
1973 0.53 83.0 23.0 61.3 3
1974 0.48 84.0 19.0 23.2 2
1975 0.30 85.0 27.0 17.5 2
表 15.6.2 检验数据(即作为待判样品)
272
SAS 操作入门 编者:江南大学 吴有炜 273
年份 X1 X2 X3 X4 原分类
1976 0.42 81.0 21.0 52.2 3
1977 0.52 81.0 38.0 45.8 1
1978 0.36 82.0 34.0 34.9 2
1979 0.43 84.0 34.0 60.5 3
data rainfall;
title’ Discriminant Analisis of Rainfall data 雨量数据进行判别分析’;
input year x1-x4 species;
cards;
1951 0.58 82.0 44.0 40.6 1
1952 0.40 83.0 18.0 43.0 2
1953 0.55 85.0 36.0 30.7 2
1954 0.40 85.0 36.0 40.7 2
1955 0.48 88.0 49.0 43.0 2
1956 0.41 82.0 35.0 78.6 3
1957 0.65 80.0 29.0 33.2 1
1958 0.45 82.0 32.0 33.1 3
1959 0.39 81.0 27.0 46.5 3
1960 0.34 85.0 28.0 41.7 3
1961 0.42 84.0 38.0 20.4 3
1962 0.52 86.0 38.0 0.2 1
1963 0.46 88.0 25.0 56.7 2
1964 0.48 83.0 46.0 13.6 1
1965 0.53 84.0 41.0 32.3 1
1966 0.65 81.0 31.0 28.9 1
1967 0.66 83.0 38.0 46.6 1
1968 0.53 80.0 42.0 93.1 3
1969 0.56 85.0 18.0 16.3 3
1970 0.45 83.0 27.0 23.9 3
1971 0.34 80.0 42.0 26.3 3
1972 0.41 79.0 38.0 40.8 3
1973 0.53 83.0 23.0 61.3 3
1974 0.48 84.0 19.0 23.2 2
1975 0.30 85.0 27.0 17.5 2
1976 0.42 81.0 21.0 52.2 3
1977 0.52 81.0 38.0 45.8 1
1978 0.36 82.0 34.0 34.9 2
1979 0.34 84.0 34.0 60.5 3
;
proc discrim /* 最 大 概 率 判 别 */ data=rainfall outstat=info method=normal
list;
class species;
var x1-x4;
id year;
title2 ‘Using normal estmates with using covarince matrix 用协方差阵进行标
准估计’;
273
SAS 操作入门 编者:江南大学 吴有炜 274
2. 例 15.6.3
表 15.6.3 胃癌检验生化指标测量值
1 288 134 20 11
胃 胃 2 245 134 10 40
癌 癌
3 200 167 12 27
患 患
者 者 4 170 150 7 8
5 100 167 20 14
萎 6 255 125 7 14
缩
7 130 100 6 12
性
胃 8 150 117 7 6
炎
非 9 120 133 10 26
患
胃
者 10 160 100 5 10
癌
患 11 185 115 5 19
非
者 12 170 125 6 4
胃
病 13 105 142 5 3
患
14 135 108 2 12
者
15 100 117 7 2
* 表中 X3,X4 是原始数据的 100 倍.
本题逐步判别程序如下:
data stomach;
title ’Discrimination of stomach cancer’;
input x1-x4 species $;
cards;
228 134 20 11 sc
245 134 10 40 sc
200 167 12 27 sc
170 150 7 8 sc
100 167 20 14 sc
255 125 7 14 sw
130 100 6 12 sw
150 117 7 6 sw
120 133 10 26 sw
160 100 5 10 sw
185 115 5 19 ns
170 125 6 4 ns
274
SAS 操作入门 编者:江南大学 吴有炜 275
165 142 5 3 ns
135 108 2 12 ns
100 117 7 2 ns
;
proc stepdisc data=stomach wco tco; /*逐步判别*/
chass species;
var x1-x4;
run;
3. 例 15.5.3
63 28 51 15 3 46 34 14 03 1 69 31 51 23 3 62 22 45 15 2
59 32 48 18 2 46 36 10 02 1 61 30 46 14 2 60 27 51 16 2
65 30 52 20 3 56 25 39 11 2 65 30 55 18 3 58 27 51 19 3
68 32 59 23 3 51 33 17 05 1 57 28 45 13 2 62 34 54 23 3
77 38 67 22 3 63 33 47 16 2 67 33 57 25 3 76 30 66 21 3
49 25 45 17 3 55 35 13 02 1 67 30 52 23 3 70 32 47 14 2
64 32 45 15 2 61 28 40 13 2 48 31 16 02 1 59 30 51 18 3
55 24 38 11 2 63 25 50 19 3 64 32 53 23 3 52 34 14 02 1
49 36 14 01 1 54 30 45 15 2 79 38 64 20 3 44 32 13 02 1
67 33 57 21 3 50 35 16 02 1 58 26 40 12 2 44 30 13 02 1
77 28 67 20 3 63 27 49 18 3 47 32 16 02 1 55 26 44 12 2
50 23 33 10 2 72 32 60 18 3 48 30 14 03 1 51 38 16 02 1
275
SAS 操作入门 编者:江南大学 吴有炜 276
61 30 49 18 3 48 34 19 02 1 50 30 16 02 1 50 32 12 02 1
61 26 56 14 3 64 28 56 21 3 43 30 11 01 1 58 40 12 02 1
51 38 19 04 1 67 31 44 14 2 62 28 48 18 3 49 30 14 02 1
51 35 14 02 1 56 30 45 15 2 58 27 41 10 2 50 34 16 04 1
46 32 14 02 1 60 29 45 15 2 57 26 35 10 2 57 44 15 04 1
50 36 14 02 1 77 30 61 23 3 63 34 56 24 3 58 27 51 19 3
57 29 42 13 2 72 30 58 16 3 54 34 15 04 1 52 41 15 01 1
71 30 59 21 3 64 31 55 18 3 60 30 48 18 3 63 29 56 18 3
49 24 33 10 2 56 27 42 13 2 57 30 42 12 2 55 42 14 02 1
49 31 15 02 1 77 26 69 23 3 60 32 50 15 3 54 39 17 04 1
66 29 46 13 2 52 27 39 14 2 60 34 45 16 2 50 34 15 02 1
44 29 14 02 1 50 20 35 10 2 55 23 37 10 2 58 27 39 12 2
47 32 13 02 1 46 31 15 02 1 59 32 57 23 3 62 29 43 13 2
74 28 61 19 3 59 30 42 15 2 51 34 15 02 1 50 35 13 03 1
56 28 49 20 3 60 22 40 10 2 73 29 63 18 3 67 25 58 18 3
49 31 15 01 1 67 31 47 15 2 63 23 44 13 2 54 37 15 02 1
56 30 41 13 2 63 25 49 15 2 61 28 47 12 2 64 29 43 13 2
51 25 30 11 2 57 28 41 13 2 65 30 58 22 3 69 31 54 21 3
54 39 13 04 1 51 35 14 03 1 72 36 61 25 3 65 32 51 20 3
61 29 47 14 2 56 29 36 13 2 69 31 49 15 2 64 27 53 19 3
68 30 55 21 3 55 25 40 13 2 48 34 16 02 1 48 30 14 01 1
45 23 13 03 1 57 25 50 20 3 57 38 17 03 1 51 38 15 03 1
55 23 40 13 2 66 30 44 14 2 68 28 48 14 2 54 34 17 02 1
51 37 15 04 1 2 35 15 02 1 58 28 51 24 3 67 30 50 17 2
63 33 60 25 3 53 37 15 02 1
;
proc candisc all out=outcan distance anova;
class species;
var sepallen sepalwid petallen petalwid;
proc plot vpercent=300;
plot can2*can1=spec_no/vaxis=-3 to 3 by 1 vspace=7;
title2’plot of canonical discriminant functions’;
run;
第十六章 典型相关分析
1. 例 16.2.1
year:年份
Des:12 月份平均气温.
Jan:次年一月份平均气温.
276
SAS 操作入门 编者:江南大学 吴有炜 277
Feb:次年二月份平均气温.
º º º º
High7:7 月 500hpa 图上 13 ~14 E,40 ~50 N 范围内 6 点高度距平和.
º º º º º º
High4:4 月 500hpa 图上(110 E,45 N)(100 W,40 N)和(100 W,50 N)3 点高度距平和.
º º º º º º
High8:8 月 500hpa 图上 150 E,35 ~45 N;100 E,40 ~50 N 范围内5 点高度距平和.
表 16.2.1 北京地区冬季气温
Year Eec Jan Feb high7 high4 high8
1951 1.0 -2.7 -4.3 4 -7 12
1952 -5.3 -5.9 -3.5 0 21 5
1953 -2.0 -3.4 -0.8 6 -9 5
1954 -5.7 -4.7 -1.1 10 17 6
1955 -0.9 -3.8 -3.1 1 5 11
1956 -5.7 -5.3 -5.9 -3 1 -12
1957 -2.1 -5.0 -1.6 -15 3 13
1958 0.6 -4.3 -0.2 10 -3 0
1959 -1.7 -5.7 2.0 -9 -5 -14
1960 -3.6 -3.6 1.3 11 -3 18
1961 -3.0 -3.1 -0.8 5 -15 4
1962 0.1 -3.9 -1.1 8 12 1
1963 -2.6 -3.0 -5.2 11 3 -3
1964 -1.4 -4.9 -1.7 -11 -8 7
1965 -3.9 -5.7 -2.5 -18 6 -6
1966 -4.7 -4.8 -3.3 -9 -6 15
1967 -6.0 -5.6 -4.9 4 0 -20
1968 -1.7 -6.4 -5.1 -7 -2 -15
1969 -3.4 -5.6 -2.0 4 17 -23
1970 -3.1 -4.2 -2.9 9 -16 23
1971 -3.8 -4.9 -3.9 -13 5 -2
1972 -2.0 -4.1 -2.4 7 0 10
1973 -1.7 -4.2 -2.0 27 -11 4
1974 -3.6 -3.3 -2.0 17 -2 0
1975 -2.7 -3.7 0.1 -1 -13 10
1976 -2.4 -7.6 -2.2 5 9 -30
277
SAS 操作入门 编者:江南大学 吴有炜 278
选项要求输出所有计算结果*/
2. 习题 16.1
某健身房对 20 个中年人测量三个生理变量:WEIGHT(体重)、WAIST(腰围)、PULSE(脉
膊)和三个训练变量:CHIWS(引体向上)、SITVPS(起坐次数)、JVMPS(跳跃次数).试分析这
两组变量间的相关性.观察数据是 SAS 程序中哪一部分?
为此,我们可采用下述 SAS 程序
data fit;
input weight waist pulse chins situps jumps;
cards;
191 36 50 5 162 60
189 37 52 2 110 60
193 38 58 12 101 101
162 35 62 123 105 37
189 35 46 13 155 58
182 36 56 4 101 42
211 38 56 8 101 38
167 34 60 6 125 40
176 31 74 15 200 40
154 33 56 17 251 250
169 34 50 17 120 38
166 33 52 13 210 115
154 34 64 14 215 105
247 46 50 1 50 50
278
SAS 操作入门 编者:江南大学 吴有炜 279
193 36 46 6 70 31
202 37 62 12 210 120
176 37 54 4 60 25
157 32 52 11 230 80
156 33 54 15 225 73
138 33 68 2 110 43
;
proc cancorr data=fit all /*PROC CANCORR 语句指示 SAS 对数据集 FIT 作典型
相关分析,其中 ALL 选项要求输出所有计算结果*/
vprefix=phys /*v 组变量名前缀,缺省时为 v*/
vname=’physiological Measuremets’ /*v 组变量标签,缺省时为’VAR’variables*/
wprefix=exer /*w 组变量名前缀,缺省时为 w*/
wname=’Exercises’; /*w 组变量标签,缺省时为’WITH’variables*/
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
279
SAS 操作入门 编者:江南大学 吴有炜 280
序号 语句名称 例句 例句意义
1 DATA DATA ZHAO3; 建立名为 ZHAO3 的数据集
输入名为 X,Y,Z 的变量;X,Z 是数值变量;Y 是字
2 INPUT INPUT X Y $ Z;
符串变量
3 INFILE INFILE ’A:\YU.1’ 输入 A 驱名为 YU.1 的文件
4 CARDS CARDS; 告诉 SAS 系统该语句之后的是数据
建立新变量 U,其每一观察值是相应 X 与 Y 观察值之
5 赋值 U=X*Y;
积
6 DROP DROP X; 从数据集中去掉变量 X 及其数据
数据集中仅保存变量 X1,X2,X3,X4 及其值,其余
7 KEEP KEEP X1-X4;
变量及其观察值删去
8 PUT PUT X Y $ Z; 输出变量 X,Y,Z 的值,其中 Y 是字符串变量
输出文件名为 A 驱 W.3 文件,将当前屏幕上的值写入
9 FILE FILE ’A:/W.3’;
正建立的数据集
DO I=1 TO 10; 建立变量 I,其 10 次观察值为 1,2,…,10,建立变量 J,
J=I*I 其 10 次观察值为 1,4,9,…,100,它们并入当前数据集
10 DO-END
OUTPUT;
END;
11 RETAIN RETAIN X; 数据步重复执行时 X 保留前次所建立 X 的值
12 FORMAT FORMAT X 把格式与变量 X 联系起来
表 过程步常用统计程序及含义
序号 统计程序名称 统计程序含义
调用 MEANS(描述性统计分析)过程,产生均值、标准差、最大、
1 PROC MEANS; 小值、峰度、偏度等基本描述性统计值,并能产生含统计值的
输出文件和报表输出文件.
调用 SUMMARY(产生描述性统计值的输出文件)过程,类似程
2 PROC SUMMARY;
序 1,但不能产生报表分析.
调用 UNIVARIATE(描述性统计值的计算与绘图)过程,类似程序
3 PROC UNIVARIATE; 1,并用能对变量的分布提供更多信息,如分布图、频数分布图、
正态分布检验等.
调用 CHART(统计值的图形表示)过程,可绘制表示一个或多个
4 PROC CHART; 变量描述性统计值的图形,如横轴图、纵轴图、方形图、星形
图、圆形图等.
调用 TABULATE(统计表格的制作)过程,制作各式统计表格,
5 PROC TABULATE; 这些表格目录多可分为三维即表格的行(column)、列(row)与页
(page).
调用 CORR(相关性分析)过程,对长度尺度测量的参数统计方
6 PROC CORR; 法,产生相关系数阵,对等尺度测量的无参数,统计方法,产
生关联系数阵.
调用 PLOT(一般制图),将二维的变量值转化为坐标值,用二维
7 PROC PLOT;
图形绘出;绘制三维轮廓图(contour)
调用 STANDARD(标准化分数)过程:采用标准化公式
8 PROC STANDARD; t = 原始样本− 样本均值 将资料文件内数值变量加以标准化.
样本标准差
调用 RANK(排名、序)过程:将文件中数据从小到大重新排列,
9 PROC RANK;
遇到完全相等的数据,则采用平均名次(average rank)
调用 SCORE (变量值的线性组合)过程:对一系列变量值赋权(比
10 PROC SCORE;
重或系数),然后以线性组合的方式求和,产生新的资料文件.
280
SAS 操作入门 编者:江南大学 吴有炜 281
则给出 t 的近似值与近似自由度.
调用 ANOVA(平衡实验设计的方差分析)过程:平衡实验是指各
21 PROC ANOVA; 组内样本数相同的实验,进行各因子的主效应、交互效应的显
著性的析因分析.
调用 VARCOMP(方差成份分解)过程:一般线性模型中各成份的
方差分析,可采用四种估计方差的方法(1)用 F 检验各效应的均
22 PROC VARCOMP;
方(MS)(2)局部最小二乘无偏估计(3)最大似然估计,(4)局部最大
似然估计.
调用 MIXED(混合式模型的方差分析)过程,特别适用于重复试
23 PROC MIXED;
验的试验设计,随机效果的试验设计.
调用 PLAN(方差分析的实验设计)过程:设计实验中随机取样的
24 PROC PLAN;
各种可能性.
调用 NPAR 1 WAY(无参数的单因子方差分析)过程:对数据的名
25 PROC NPAR 1 WAY; 次(而非数据据值本身)进行单因素方差分析,原假设:各组间平
均名次无显著差异).
281
SAS 操作入门 编者:江南大学 吴有炜 282
调用 GLM(一般线性模型与方差分析)过程:在方差分析中应用
最广泛的程序,(1)方差分析(2)协方差分析(3)多因素方差分析(4)
26 PROC GLM 重复试验的方差分析(5)一元线性回归分析(6)多元线性回归分析
(7)多项式回归分析(8)加权回归分析(9)二次多项式响应面分析
(10)相关性计算.
(注:统计程序 20-26 为方差分析模块,内容参见第四、十章. )
调用 PRINCOMP(主成分分析)过程:内容参见第十三章,程序
27 PROC PRINCOMP 对输入原料数据(或相关系数阵,或协方差阵)执行主成份分析,
输出包括特征值,特征向量及(未经)标准化的主成份值.
调用 FACTOR(因子分析)过程:内容参见第十三章,程序提供 8
28 PROC FACTOR
种取因子的方式和 8 种公共因子的旋转方法供选择.
调用 CANCORR(典型相关分析)过程,内容参见第十六章,程序
执行典型相关分析,分析结果包括(未经过)标准化的各顺序典型
29 PROC CANCORR
变量对、典型相关系数之所有典型变量与原始变量之间的相关
系数,以及典型变量值.
调用 MDS(多维标度法)过程:MDS(multidimensional scaling):
30 PROC MDS
程序从一组距离距阵中逆推样本的坐标.
(注:过程语句 27-30 为多元综合分析模块. )
31 PROC DISCRIM 调用 DISCRIM(分类判别分析)过程:将样本分到某一类别内
32 PROC CANDISC 调用 CANDISC(典型判别分析)过程:将各类别区分开来
调用 STEPDISC(逐步判别分析)过程:依据本对类别判断能力贡
33 PROC STEPDISC
献大小,删选进出类别,完成类别区分.
(注:过程语句 31-33 为判别分析模块,内容参见第十五章. )
调用 CLUSTER(系统聚类分析)过程,依据样本及类距离,将距
34 PROC CLUSTER 离最近的两类并成一类,由各样本自成一类开始直至全部样本
并成一大类.
调用 FASTCLUS(动态聚类分析)过程:在一个初始分类(或一些
35 PROC FASTCLUS 凝聚点)的基础上,依据一定的原则进行分类修改,直至合理为
止.
调用 VARCLUS(变量聚类分析)过程:指标变量基于相关阵或协
36 PROC VARCLUS
方差阵进行分割聚类或系统聚类.
37 PROC TREE 调用 TREE(聚类分析树形图)过程:绘制聚类分析的树形图.
调 用 ACECLUS( 协 方 差 估 计 值 聚 类 分 析 ) 过 程 :
38 PROC ACECLUS ACECLUS(approximate covariance estimation for clustering)利用
样本(或指标)集的协方差的估计值进行聚类分析
(注:过程语句 34-38 为聚类分析模块,内容参见第十五章)
表 17.2.3 过程步常用语句及例句
序号 语句名称 例句 例句含义
以 X,Y 的值标识打印输出的观测值或该过程建
2 ID ID X Y;
立的 SAS 数据集
X,Y 相同的观测值成为一个分组,过程分析每
3 BY BY X Y;
一分组
5 LABEL LABELX=’DAY’
; 使变量名 X 不完全表达的意义由标号详细说明
每个观测值中除 NN 外的变量重复的次数由 NN
6 FREQ FREQ NN;
决定
表 可用在各处的 SAS 语句
282
SAS 操作入门 编者:江南大学 吴有炜 283
语句 例句 例句含义
注一句话,略去变量,该句话不被
注释语句 /*DROP VAREABLE*/
执行
ENDSAS ENDSAS SAS 停止作业并退出 SAS 系统
将库逻辑名 AA 与目录 B:/CC 联
LIBNAME LIBNAME AA ’B:/CC’;
系起来
从当前目录中的一个文件里读数据
FILENAME ’BOOK ’BOOKING.DAT’;
FILENAME 行,这个目录被文件逻辑名 BOOK
DATA TICKET
所标识,并且建立一个临时数据集
为输出 SAS 打印文件规定标题’
TITLE TITLE ’FIRST RESULT’;
FIRST RESULT’
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
/*习题五
习题 5—1*/
title;
data data51(drop=i);
283
SAS 操作入门 编者:江南大学 吴有炜 284
do group=1 to 3;
input n@;
do i=1 to n;
input y @@;
output;
end;
end;
cards;
8 2 6 4 13 5 8 4 6
10 6 4 4 1 8 2 12 1 5 2
9 2 1 3 3 1 7 1 4 2
;
proc print;
run;
proc anova data=data51;
class group;
model y=group;
means group;
run;
quit;
/*习题5—2*/
title;
data data52;
do type='a','b','c';
input n @;
do i=1 to n;
input cea @@; output;
end;
end;
drop i n;
cards;
32 20.4 265.3 170.5 28.5 57.0 64.6 30.2 175.0 360.0 108.5 189.6
87.3 210.4 169.8 78.4 472.5 59.3 365.0 356.4 86.4 158.6 259.3
56.8 254.0 128.0 238.7 380.2 37.8 262.3 24.1 253.6 210.5 35
281.0 766.2 66.8 425.7 584.1 587.7 377.1 495.0 521.3 270.8 648.8
86.8 230.0 87.3 327.8 378.5 485.6 532.1 537.9 389.8 421.4 228.0 110.8
311.6 248.7 423.9 149.7 538.7 398.7 442.2 571.4 577.3 47.5 245.6 452.6 28
480.0 725.6 600.0 608.4 348.6 488.9 590.0 1380.0 688.5 550.0
350.7 765.0 438.5 630.5 640.0 652.8 1200.0 652.4 750.0 464.8
1400.0 231.2 432.8 815.0 850.0 485.3 296.1 664.0
;
proc print;
run;
284
SAS 操作入门 编者:江南大学 吴有炜 285
/* 5-2(1) ;*/
proc sort;
by type;
proc univariate data=data52 normal;
by type;
var cea;
run;
/* 5-2(2) ;*/
proc anova data=data52;
class type;
model cea=type;
means type/t;
run;
proc glm data=data52;
class type;
model cea=type;
run;
quit;
/*习题5—3*/
data data53;
do a='a1','a2','a3';
do b='b1','b2','b3','b4';
do n=1 to 2;
input x@@;output;
end;
end;
end;
cards;
19.3 19.2 24.0 27.3 26.0 28.5 27.8 28.5
21.7 22.6 27.5 30.3 29.0 28.7 30.2 29.8
20.0 20.1 24.2 27.3 24.5 27.1 28.1 27.7
;
proc print;
run;
/* 5-3(1),(2),(3),(4),(5) ;*/
proc anova data=data53;
class a b ;
model x=a b a*b;
means a b / t ;
run;
quit;
/*习题5—4*/
285
SAS 操作入门 编者:江南大学 吴有炜 286
data ads;
do ad='paper','radio','people','display';
do area=1 to 6;
do n=1 to 6;
input sales @@;
output;
end;end;
end;
cards;
75 57 76 68 75 83 77 75 72 66 66 76 76 81 63 70 86 62
94 54 70 88 56 86 87 65 65 84 77 78 79 62 75 80 62 70
69 51 100 54 78 79 90 77 60 83 74 69 33 79 73 68 75 65
100 61 68 70 53 73 68 63 83 79 66 65 76 73 74 81 57 65
63 67 85 58 82 78 80 87 62 87 70 77 70 75 40 68 61 55
64 40 67 76 70 77 51 61 75 42 71 65 64 50 62 78 37 83
52 61 61 41 44 86 76 57 52 75 75 63 33 69 60 52 61 43
61 66 41 69 43 51 65 58 50 60 52 55 44 45 58 52 45 60
;
proc print;
run;
/* 5-4(1)+(2) ;*/
proc sort;
by ad;
run;
proc univariate data=ads plot normal;
by ad;
var sales;
run;
/* 5-4(2) ;*/
proc anova data=ads;
class ad;
model sales=ad;
means ad /t;
run;
/* 5-4(3) ;*/
proc anova data=ads;
class ad area;
model sales=ad area ad*area;
means ad area/t;
run;
286
SAS 操作入门 编者:江南大学 吴有炜 287
quit;
/*习题六*/
/*习题6—1*/
data data61;
input x1 x2 y;
n=_n_;
cards;
120 100 102
140 110 100
190 90 120
130 150 77
155 210 46
175 150 93
125 250 26
145 270 69
180 300 65
150 250 85
170 160 .
;
proc print;
run;
/* 6-1(1)+(2)+(3) ;*/
proc reg data=data61;
model y=x1 x2 / r;
output out=o61 cookd=d student=stu ;
run;
/* 6-1(2) ;*/
data r61(keep= n y d stu );
set o61;
if abs(stu)>=2 or abs(d) > 4/10 ;
run;
proc print data=r61;
id n;
var y d stu;
run;
/* 6-1(4) ;*/
data da61;
set data61;
287
SAS 操作入门 编者:江南大学 吴有炜 288
x3=x1*x1;x4=x1*x2;x5=x2*x2;
run;
proc print;
run;
/*习题6—2*/
data data62;
input x1-x4 y;
cards;
82.9 92.0 17.1 94.0 8.4
88.0 93.0 21.3 96.0 9.6
99.9 96.0 25.1 97.0 10.4
105.3 94.0 29.0 97.0 11.4
117.7 100.0 34.0 100.0 12.2
131.0 101.0 40.0 101.0 14.2
148.2 105.0 44.0 104.0 15.8
161.8 112.0 49.0 109.0 17.9
174.2 112.0 51.0 111.0 19.6
184.7 112.0 53.0 111.0 20.8
;
proc print;
run;
/*习题6—3*/
data data63;
input x1 x2 y;
n=_n_;
cards;
288
SAS 操作入门 编者:江南大学 吴有炜 289
1.5 5.0 96
2.0 2.0 90
1.5 4.0 95
2.5 2.5 92
3.3 3.0 95
2.3 3.5 95
4.2 2.5 94
2.5 3.0 94
3.5 2.0 .
;
proc print;
run;
/* 6-3(1)+(2)+(3)+(4) ;*/
proc reg data=data63;
model y=x1 x2 / r;
output out=o63 cookd=d student=stu ;
run;
/* 6-3(2) ;*/
data r63(keep= n y d stu );
set o63;
if abs(stu)>=2 or abs(d) > 4/8 ;
run;
proc print data=r63;
id n;
var y d stu;
run;
data data64;
input x y @@;
cards;
2 106.42 3 108.20 4 109.58 5 109.50 7 110.00 8 109.93 10 110.49
11 110.59 14 110.60 15 110.90 16 110.76 18 111.00 19 111.20
;
proc print;
run;
/*习题6--4
* 6-4(1);*/
proc plot data=data64;
plot y*x='*';
run;
289
SAS 操作入门 编者:江南大学 吴有炜 290
/* 6-4(2.1) + (3);*/
data da64a;
set data64;
ya=1/y;xa=1/x;
run;
proc reg data=da64a;
model ya=xa;
output out=ba p=yp1;
run;
data _null_;
retain sumy 0;
set ba;
yb=1/yp1;
sumy+(yb-y)**2;
if _n_<13 then return;
sum0=21.21051;
s=sqrt(sumy/11);r2=1-sumy/sum0;
put @10 sumy= @30 s= @50 r2=;
run;
/* 6-4(2.2) +(3);*/
data da64b;
set data64;
xa=LOG10(x);
run;
proc reg data=da64b;
model y=xa;
run;
/* 6-4(2.3)+(3) ;*/
data da64c;
set data64;
xa=sqrt(x);
run;
proc reg data=da64c;
model y=xa;
run;
/* 6-4(2.4)+(3) ;*/
data da64d;
set data64;
ya=log(y);xa=-1/x;
290
SAS 操作入门 编者:江南大学 吴有炜 291
run;
proc reg data=da64d;
model ya=xa;
output out=bd p=ypd;
run;
data _null_;
retain sum2 0;
set bd;
yd=exp(ypd);sum2+(yd-y)**2;
if _n_<13 then return;
sum0=21.21051;r2=1-sum2/sum0;
s=sqrt(sum2/11);
put @10 sum2= @30 s= @50 r2=;
run;
/*习题6—5*/
data data65;
input x y1 y2 y3 x4 y4;
cards;
10.0 8.04 9.14 7.46 8 6.58
8.0 6.95 8.14 6.77 8 5.76
13.0 7.58 8.74 12.74 8 7.71
9.0 8.81 8.77 7.11 8 8.84
11.0 8.33 9.26 7.81 8 8.47
14.0 9.96 8.10 8.84 8 7.04
6.0 7.24 6.13 6.08 8 5.25
4.0 4.26 3.10 5.39 19 12.50
12.0 10.84 9.13 8.15 8 5.56
7.0 4.82 7.26 6.44 8 7.91
5.0 5.68 4.74 5.73 8 6.89
;
proc print;
id x;
run;
/* 6-5(1) ;*/
options ps=40 ls=75;
proc plot data=data65 vpct=50 hpct=50;
plot y1*x='1' y2*x='2' y3*x='3' y4*x4='4';
run;
/* 6-5(2)+(3) ;*/
options ps=35;
proc reg data=data65;
291
SAS 操作入门 编者:江南大学 吴有炜 292
/*习题6—6*/
data data66;
input x y @@;
cards;
294 30 247 32 267 37 358 44
423 47 311 49 450 56 534 62
438 68 697 78 688 80 630 84
709 88 627 97 615 100 999 109
1022 114 1015 117 700 106 850 128
980 130 1025 160 1021 97 1200 180
1250 112 1500 210 1650 135
;
proc print;
run;
/* 6-6(1) ;*/
proc reg data=data66;
model y=x / r;
run;
/* 6-6(3)+(2);*/
plot r.*p.='*' r.*x='x';
output out=O66 student=st rstudent=rst residual=r;
run;
/* 6-6(2);*/
proc univariate data=O66 normal;
292
SAS 操作入门 编者:江南大学 吴有炜 293
var st rst r;
run;
/* 6-6(4) ;*/
data da66;
set data66;
ya=sqrt(y);
run;
proc reg data=da66;
model ya=x/r;
plot r.*p.='*' r.*x='x';
run;
quit
/*习题七*/
/*习题 7—1*/
data data71;
input colour $ sex $ n @@;
cards;
男 红 30 男 蓝 10 男 绿 10 女 红 20 女 蓝 10 女 绿 20
;
/*习题7—2*/
data data72;
input a b n @@;
cards;
1 0 36 1 1 14 2 0 22 2 1 28
;
/*习题7—3*/
data data73;
293
SAS 操作入门 编者:江南大学 吴有炜 294
/*习题7—4*/
data data74;
input a b n @@;
cards;
0 0 30 0 1 15 0 2 11 0 3 12
1 0 7 1 1 18 1 2 19 1 3 29
2 0 5 2 1 23 2 2 7 2 3 19
;
/*习题7—5*/
data data75;
input purchase income $ sex $ n @@;
cards;
0 低 男 35 0 低 女 55 1 低 男 8 1 低 女 34
0 中 男 58 0 中 女 40 1 中 男 15 1 中 女 31
0 高 男 37 0 高 女 44 1 高 男 38 1 高 女 36
;
/* 7-5(1);*/
proc freq data=data75 order=data;
tables purchase*(income sex) / expected chisq;
weight n;
run;
/* 7-5(2) ;*/
proc freq data=data75 order=data;
tables sex*purchase*income / expected chisq ;
weight n;
run;
294
SAS 操作入门 编者:江南大学 吴有炜 295
/* 7-5(3) ;*/
proc freq data=data75 order=data;
tables purchase*income / expected chisq measures;
weight n;
run;
/*习题八
习题8—1*/
data data81;
input name : $18. x1-x8;
cards;
1(冶金) 90342 52455 101091 19272 82.000 16.100 197435 0.172
2(电力) 4903 1973 2035 10313 34.200 7.100 592077 0.003
3(煤炭) 6735 21139 3767 1780 36.100 8.200 726396 0.003
4(化学) 49454 36241 81557 22504 98.100 25.900 348226 0.985
5(机械) 139190 203505 215898 10609 93.200 12.600 139572 0.628
6(建材) 12215 16219 10351 6382 62.500 8.700 145818 0.066
7(森工) 2372 6572 8103 12329 184.400 22.200 20921 0.152
8(食品) 11062 23078 54935 23804 370.400 41.000 65486 0.263
9(纺织) 17111 23907 52108 21796 221.500 21.500 63806 0.276
10(缝纫) 1206 3930 6126 15586 330.400 29.500 1840 0.437
11(皮革) 2150 5704 6200 10870 184.200 12.000 8913 0.274
12(造纸) 5251 6155 10383 16875 146.400 27.500 78796 0.151
13(文教艺术用品) 14341 13203 19396 14691 94.600 17.800 6354 1.574
;
proc print data=data81;
run;
/* 8-1(1) ;*/
proc princomp data=data81 prefix=z out=o81;
var x1-x8;
run;
/* 8-1(2) ;*/
proc sort data=o81;
by z1;
run;
proc print data=o81;
var name z1 z2 x1-x8;
run;
295
SAS 操作入门 编者:江南大学 吴有炜 296
/*习题8—2*/
data data82;
input n x1 x2 y1-y7;
cards;
1 843 4000 920 1038 1166 1536 1692 2743 2741
2 942 5215 1216 1280 1549 1924 2717 3743 4160
3 895 6379 1836 2287 2715 3281 3240 4572 5439
4 884 3770 978 1010 1227 1558 1755 2552 2623
5 1002 3329 757 684 718 931 1422 1827 2222
6 792 3039 759 765 1253 1296 1902 1822 2233
7 930 2476 559 616 611 863 891 1539 1768
8 758 2127 633 661 762 769 864 1241 1482
9 886 2721 703 836 813 914 895 1272 1431
10 859 1664 427 451 507 551 581 839 1107
11 808 2435 772 790 839 990 771 1132 1316
12 845 2661 557 599 670 855 1128 1639 1861
13 877 2242 549 471 480 643 664 1173 1530
14 787 3088 1061 1021 978 1102 1301 2373 2452
15 943 3322 567 557 630 836 984 1994 2704
16 866 3507 675 678 847 1187 1476 2107 2415
17 924 3412 545 729 821 1017 1079 1878 2325
18 1806 5869 1268 1227 1607 1765 2318 2959 3157
19 1027 3605 651 835 924 1125 1194 2176 2411
;
/* 8-2(1) ;*/
proc princomp data=data82 n=2 out=o82;
var x1 x2 y1-y7;
run;
/* 8-2(2) ;*/
proc sort data=o82;
by prin1;
run;
296
SAS 操作入门 编者:江南大学 吴有炜 297
/* 8-2(3) ;*/
proc cluster data=o82 method=ave outtree=b82;
var prin1 prin2;
id n;
run;
proc tree data=b82 horizontal graphics;
run;
proc cluster data=data82 method=ave outtree=o82;
var x1 x2 y1-y7;
id n;
run;
proc tree data=o82 horizontal graphics;
run;
/*习题8—3*/
data data83;
input group $ x1-x6;
n=_n_;
cards;
北京 190.33 43.77 9.73 60.54 49.01 9.04
天津 135.20 36.40 10.47 44.16 36.49 3.94
河北 95.21 22.83 9.30 22.44 22.81 2.80
山西 104.78 25.11 6.40 9.89 18.17 3.25
内蒙 128.41 27.63 8.94 12.58 23.99 3.27
辽宁 145.68 32.83 17.79 27.29 39.09 3.47
吉林 159.37 33.38 18.37 11.81 25.29 5.22
黑龙江 116.22 29.57 13.24 13.76 21.75 6.04
上海 221.11 38.64 12.53 115.65 50.82 5.89
江苏 144.98 29.12 11.67 42.60 27.30 5.74
浙江 169.92 32.75 12.72 47.12 34.35 5.00
安徽 153.11 23.09 15.62 23.54 18.18 6.39
福建 144.92 21.26 16.96 19.52 21.75 6.73
江西 140.54 21.50 17.64 19.19 15.97 4.94
山东 115.84 30.26 12.20 33.61 33.77 3.85
河南 101.18 23.26 8.46 20.20 20.50 4.30
;
proc print data=data83;
run;
proc princomp data=data83 out=o83;
var x1-x6;
run;
297
SAS 操作入门 编者:江南大学 吴有炜 298
/*习题8—4*/
data data84;
input x1-x6;
n=_n_;
cards;
0.056 0.084 0.031 0.038 0.0081 0.0220
0.049 0.055 0.100 0.110 0.0220 0.0073
0.038 0.130 0.079 0.170 0.0580 0.0430
0.034 0.095 0.058 0.160 0.2000 0.0290
0.084 0.066 0.029 0.320 0.0120 0.0410
0.064 0.072 0.100 0.210 0.0280 1.3800
0.048 0.089 0.062 0.260 0.0380 0.0360
0.069 0.087 0.027 0.050 0.0890 0.0210
;
298
SAS 操作入门 编者:江南大学 吴有炜 299
run;
options ps=35 ls=80;
proc plot data=o84;
plot prin2*prin1 $ n='*';
run;
/*习题8—5*/
data data85;
input x1-x5 @@;
label x1='力学(闭)' x2='物理(闭)'
x3='代数(开)' x4='分析(开)' x5='统计(开)';
n=_n_;
cards;
77 82 67 67 81 63 78 80 70 81
75 73 71 66 81 55 72 63 70 68
63 63 65 70 63 53 61 72 64 73
51 67 65 65 68 59 70 68 62 56
62 60 58 62 70 64 72 60 62 45
52 64 60 63 54 55 67 59 62 44
50 50 64 55 63 65 63 58 56 37
31 55 60 57 73 60 64 56 54 40
44 69 53 53 53 42 69 61 55 45
62 46 61 57 45 31 49 62 63 62
44 61 52 62 46 49 41 61 49 64
12 58 61 63 67 49 53 49 62 47
54 49 56 47 53 54 53 46 59 44
44 56 55 61 36 18 44 50 57 81
46 52 65 50 35 32 45 49 57 64
30 69 50 52 45 46 49 53 59 37
40 27 54 61 61 31 42 48 54 68
36 59 51 45 51 56 40 56 54 35
46 56 57 49 32 45 42 55 56 40
42 60 54 49 33 40 63 53 54 25
23 55 59 53 44 48 48 49 51 37
41 63 49 46 34 46 52 53 41 40
;
proc print data=data85;
run;
proc factor data=data85 p=0.8 method=prin simple;
var x1-x5;
run;
299
SAS 操作入门 编者:江南大学 吴有炜 300
/*习题8—6*/
data data86;
input x1-x4;
n=_n_;
cards;
1.611 10.59 0.69 1.67
1.429 9.44 0.61 1.50
1.447 5.97 0.24 1.25
1.572 10.72 0.75 1.71
1.483 10.99 0.75 1.44
1.371 6.46 0.41 1.31
1.665 10.51 0.53 1.52
1.403 6.11 0.17 1.32
2.620 21.51 1.40 2.59
2.033 24.15 1.80 1.89
2.015 26.86 1.93 2.02
1.501 9.74 0.87 1.48
1.578 14.52 1.12 1.47
1.735 14.64 1.21 1.91
1.453 12.88 0.87 1.52
1.765 17.94 0.89 1.40
1.532 29.42 2.52 1.80
1.488 9.23 0.81 1.45
2.586 16.07 0.82 1.83
1.992 21.63 1.01 1.89
;
proc print data=data86;
run;
/* 8-6(1) ;*/
proc factor data=data86 p=0.8 method=prin simple;
var x1-x4;
run;
proc factor data=data86 rotate=varimax n=2 ;
var x1-x4;
300
SAS 操作入门 编者:江南大学 吴有炜 301
run;
proc factor data=data86 score n=2 out=o86;
var x1-x4;
run;
/* 8-6 (2) ;*/
proc sort data=o86;
by factor1;
run;
/*习题九
习题9—1*/
data data91;
input x1-x5 @@;
input x1-x5 @@;
label x1='力学(闭)' x2='物理(闭)'
x3='代数(开)' x4='分析(开)' x5='统计(开)';
n=_n_;
cards;
77 82 67 67 81 63 78 80 70 81
75 73 71 66 81 55 72 63 70 68
63 63 65 70 63 53 61 72 64 73
51 67 65 65 68 59 70 68 62 56
62 60 58 62 70 64 72 60 62 45
52 64 60 63 54 55 67 59 62 44
50 50 64 55 63 65 63 58 56 37
31 55 60 57 73 60 64 56 54 40
301
SAS 操作入门 编者:江南大学 吴有炜 302
44 69 53 53 53 42 69 61 55 45
62 46 61 57 45 31 49 62 63 62
44 61 52 62 46 49 41 61 49 64
12 58 61 63 67 49 53 49 62 47
54 49 56 47 53 54 53 46 59 44
44 56 55 61 36 18 44 50 57 81
46 52 65 50 35 32 45 49 57 64
30 69 50 52 45 46 49 53 59 37
40 27 54 61 61 31 42 48 54 68
36 59 51 45 51 56 40 56 54 35
46 56 57 49 32 45 42 55 56 40
42 60 54 49 33 40 63 53 54 25
23 55 59 53 44 48 48 49 51 37
41 63 49 46 34 46 52 53 41 40
;
proc print data=data91;
run;
proc cancorr data=data91 vprefix=open wprefix=close ;
var x1 x2;
with x3 x4 x5;
run;
/*习题9—2*/
data data92;
input x1-x4;
cards;
191 155 179 145
195 149 201 152
181 148 185 149
183 153 188 149
176 144 171 142
208 157 192 152
189 150 190 149
197 159 189 152
188 152 197 159
192 150 187 151
179 158 186 148
183 147 174 147
174 150 185 152
190 159 195 157
188 151 187 158
163 137 161 130
195 155 183 158
186 153 173 148
181 145 182 146
175 140 165 137
302
SAS 操作入门 编者:江南大学 吴有炜 303
/*习题十
习题10—1*/
data data101;
input x1-x7;
cards;
0.05798 5.5150 347.10 21.910 8586 1742 61.69
0.08441 3.9700 347.20 19.710 7947 2000 2440.00
0.07217 1.1530 54.85 3.052 3860 1445 9497.00
0.15010 1.7020 307.50 15.030 12290 1461 6380.00
5.74400 2.8540 229.60 9.657 8099 1266 12520.0
0.21300 0.7058 240.30 13.910 8980 2820 4135.00
;
proc print;
run;
/* 10-1(1) ;*/
proc cluster data=data101 method=ave outtree=o101;
var x1-x7;
run;
proc tree data=o101 horizontal graphics;
run;
proc cluster data=data101 method=ward outtree=o101;
var x1-x7;
run;
proc tree data=o101 horizontal graphics;
run;
303
SAS 操作入门 编者:江南大学 吴有炜 304
data ob101(drop=i);
set oc101(firstobs=4);
array x(7) x1-x7;
do i=1 to 7;
x(i)=1-abs(x(i));
end;
run;
proc print data=ob101;
run;
proc cluster data=ob101 method=ave outtree=o101;
var x1-x7;
run;
proc tree data=o101 horizontal graphics;
run;
proc cluster data=ob101 method=ward outtree=o101;
var x1-x7;
run;
proc tree data=o101 horizontal graphics;
run;
data od101(drop=i);
set oc101(firstobs=4);
array x(7) x1-x7;
do i=1 to 7;
x(i)=sqrt(1-abs(x(i)*x(i)));
end;
run;
proc print data=od101;
run;
proc cluster data=od101 method=ave outtree=o101;
var x1-x7;
run;
proc tree data=o101 horizontal graphics;
run;
proc cluster data=od101 method=ward outtree=o101;
var x1-x7;
run;
proc tree data=o101 horizontal graphics;
run;
304
SAS 操作入门 编者:江南大学 吴有炜 305
/*习题10-2(1) ;*/
data data101;
input type cu ag bi;
cards;
1 2.58 0.90 0.95
1 2.90 1.23 1.00
1 3.55 1.15 1.00
1 2.35 1.15 0.79
1 3.54 1.85 0.79
1 2.70 2.23 1.30
1 2.70 1.70 0.48
0 2.25 1.98 1.06
0 2.16 1.80 1.06
0 2.33 1.74 1.10
0 1.96 1.48 1.04
0 1.94 1.40 1.00
0 3.00 1.30 1.00
0 2.78 1.70 1.48
. 2.95 2.15 1.54
;
proc cluster data=data101 method=ave outtree=o1021;
var cu ag bi;
run;
proc tree data=o1021 horizontal graphics;
run;
proc cluster data=data101 method=ward outtree=o1021;
var cu ag bi;
run;
proc tree data=o1021 horizontal graphics;
run;
/*习题10-2(2) ;*/
data data102;
input obs type gpa gmat @@;
cards;
1 1 2.96 596 32 2 2.54 446 60 3 2.86 494
2 1 3.14 473 33 2 2.43 425 61 3 2.85 496
3 1 3.22 482 34 2 2.20 474 62 3 3.14 419
4 1 3.29 527 35 2 2.36 531 63 3 3.28 371
5 1 3.69 595 36 2 2.57 542 64 3 2.89 447
305
SAS 操作入门 编者:江南大学 吴有炜 306
306
SAS 操作入门 编者:江南大学 吴有炜 307
run;
/*习题10-2(3) ;*/
data data103;
input x1-x4 type;
cards;
6.0 -11.5 19 90 1
-11.0 -18.5 25 -36 3
90.2 -17.0 17 3 2
-4.0 -15.0 13 54 1
0.0 -14.0 20 35 2
0.5 -11.5 19 37 3
-10.0 -19.0 21 -42 3
0.0 -23.0 5 -35 1
20.0 -22.0 8 -20 3
-100.0 -21.4 7 -15 1
-100.0 -21.5 15 -40 2
13.0 -17.2 18 2 2
-5.0 -18.5 15 18 1
10.0 -18.0 14 50 1
-8.0 -14.0 16 56 1
0.6 -13.0 26 21 3
-40.0 -20.0 22 -50 3
-8.0 -14.0 16 56 .
92.2 -17.0 18 3 .
-14.0 -18.5 25 -36 .
-36.0 -20.0 22 -50 .
;
proc cluster data=data103 method=ave outtree=o1023;
var x1-x4;
run;
proc tree data=o1023 horizontal graphics;
run;
proc cluster data=data103 method=ward outtree=o1023;
var x1-x4;
run;
proc tree data=o1023 horizontal graphics;
run;
307
SAS 操作入门 编者:江南大学 吴有炜 308
/*习题10-2(4) ;*/
data data104;
input x1-x3 type ;
cards;
0.045 0.043 0.265 2
0.066 0.039 0.264 2
0.094 0.061 0.194 2
0.003 0.003 0.102 3
0.048 0.015 0.106 3
0.210 0.066 0.263 1
0.086 0.072 0.274 2
0.196 0.072 0.211 1
0.187 0.082 0.301 1
0.053 0.060 0.209 2
0.020 0.008 0.112 3
0.035 0.015 0.170 3
0.205 0.068 0.284 1
0.088 0.058 0.215 2
0.101 0.052 0.181 .
0.045 0.005 0.122 .
;
/*习题十一
习题11-1(1) ;/
data data111;
input type cu ag bi;
cards;
1 2.58 0.90 0.95
1 2.90 1.23 1.00
1 3.55 1.15 1.00
1 2.35 1.15 0.79
1 3.54 1.85 0.79
1 2.70 2.23 1.30
308
SAS 操作入门 编者:江南大学 吴有炜 309
* 11-1(2)+(3) ;
proc discrim data=data111 distance list;
class type;
var cu ag bi;
run;
/* 11-1(1) ;*/
data data111;
input type cu ag bi;
cards;
1 2.58 0.90 0.95
1 2.90 1.23 1.00
1 3.55 1.15 1.00
1 2.35 1.15 0.79
1 3.54 1.85 0.79
1 2.70 2.23 1.30
1 2.70 1.70 0.48
0 2.25 1.98 1.06
0 2.16 1.80 1.06
0 2.33 1.74 1.10
0 1.96 1.48 1.04
0 1.94 1.40 1.00
0 3.00 1.30 1.00
0 2.78 1.70 1.48
. 2.95 2.15 1.54
;
proc print;
run;
/* 11-1(2)+(3) ;*/
proc discrim data=data111 distance list;
class type;
var cu ag bi;
309
SAS 操作入门 编者:江南大学 吴有炜 310
run;
/*习题11—2*/
data data112;
input obs type gpa gmat @@;
cards;
1 1 2.96 596 32 2 2.54 446 60 3 2.86 494
2 1 3.14 473 33 2 2.43 425 61 3 2.85 496
3 1 3.22 482 34 2 2.20 474 62 3 3.14 419
4 1 3.29 527 35 2 2.36 531 63 3 3.28 371
5 1 3.69 595 36 2 2.57 542 64 3 2.89 447
6 1 3.46 693 37 2 2.35 496 65 3 3.15 343
7 1 3.03 626 38 2 2.51 412 66 3 3.50 402
8 1 3.19 663 39 2 2.51 458 67 3 2.89 485
9 1 3.63 447 40 2 2.36 399 68 3 2.80 444
10 1 3.59 588 41 2 2.36 482 69 3 3.13 416
11 1 3.30 563 42 2 2.66 420 70 3 3.01 471
12 1 3.40 553 43 2 2.68 474 71 3 2.79 490
13 1 3.50 572 44 2 2.48 533 72 3 2.89 481
14 1 3.78 591 45 2 2.46 509 73 3 2.91 446
15 1 3.44 692 46 2 2.63 504 74 3 2.75 546
16 1 3.48 528 47 2 2.44 336 75 3 2.78 467
17 1 3.47 552 48 2 2.13 408 76 3 3.12 462
18 1 3.35 520 49 2 2.41 469 77 3 3.08 440
19 1 3.39 543 50 2 2.55 538 78 3 3.03 419
20 1 3.28 523 51 2 2.31 505 79 3 3.00 509
21 1 3.21 530 52 2 2.41 489 80 3 3.03 438
22 1 3.58 564 53 2 2.09 441 81 3 3.05 399
23 1 3.33 565 54 2 2.35 321 82 3 2.85 483
24 1 3.40 431 55 2 2.60 394 83 3 3.01 453
25 1 3.38 605 56 2 2.55 528 84 3 3.03 414
26 1 3.26 664 57 2 2.70 399 85 3 3.04 446
27 1 3.60 609 58 2 2.85 381 86 . 3.21 497
28 1 3.37 559 59 2 2.90 364 29 1 3.80 521
30 1 3.76 646 31 1 3.24 467
;
proc print;
run;
310
SAS 操作入门 编者:江南大学 吴有炜 311
/*习题11-3(1) ;*/
data data113;
input x1-x4 type;
cards;
6.0 -11.5 19 90 1
-11.0 -18.5 25 -36 3
90.2 -17.0 17 3 2
-4.0 -15.0 13 54 1
0.0 -14.0 20 35 2
0.5 -11.5 19 37 3
-10.0 -19.0 21 -42 3
0.0 -23.0 5 -35 1
20.0 -22.0 8 -20 3
-100.0 -21.4 7 -15 1
-100.0 -21.5 15 -40 2
13.0 -17.2 18 2 2
-5.0 -18.5 15 18 1
10.0 -18.0 14 50 1
-8.0 -14.0 16 56 1
0.6 -13.0 26 21 3
-40.0 -20.0 22 -50 3
-8.0 -14.0 16 56 .
92.2 -17.0 18 3 .
-14.0 -18.5 25 -36 .
-36.0 -20.0 22 -50 .
;
proc print;
run;
/* 11-3(2) ;*/
proc discrim data=data113 distance list;
class type;
var x1-x4;
311
SAS 操作入门 编者:江南大学 吴有炜 312
run;
* 11-3(3) ;
proc discrim data=data113 pool=test distance list;
class type;
priors proportional;
var x1-x4;
run;
proc discrim data=data113 method=npar k=1 list;
class type;
var x1-x4;
run;
proc discrim data=data113 method=npar r=0.5 list;
class type;
var x1-x4;
run;
proc stepdisc data=data113 simple sle=0.18 sls=0.18 ;
class type;
var x1-x4;
run;
proc discrim data=data113 list;
class type;
var x2 x4;
run;
proc stepdisc data=data113 ;
class type;
var x1-x4;
run;
proc discrim data=data113 list;
class type;
var x3 x4;
run;
/*习题11—4*/
data data114;
input x1-x3 type ;
cards;
0.045 0.043 0.265 2
0.066 0.039 0.264 2
0.094 0.061 0.194 2
0.003 0.003 0.102 3
0.048 0.015 0.106 3
0.210 0.066 0.263 1
0.086 0.072 0.274 2
0.196 0.072 0.211 1
0.187 0.082 0.301 1
0.053 0.060 0.209 2
312
SAS 操作入门 编者:江南大学 吴有炜 313
/* 11-4(1)+(2) ;*/
proc discrim data=data114 pool=yes list;
class type;
var x1-x3;
priors proportional;
run ;
proc discrim data=data114 pool=test list;
class type;
priors proportional;
var x1-x3;
run ;
SAS 操作入门
(V8 版本)
编者 江南大学理学院 吴有炜
313
SAS 操作入门 编者:江南大学 吴有炜 314
314