SAS讲义_第十七课使用列表报告PROC_PRINT和汇总报告PROC_TABULATE

合集下载

sas实现数据汇总和报表制作

sas实现数据汇总和报表制作

2007北京大学
产生汇总表格
编程--计算统计量
例2.6: SALARY数据集有三个变量:性别(SEX),工种
(JOBCODE)和薪金(SALARY).试生成比较各种不 同工种和不同性别间最高薪金的汇总表.
proc tabulate data=salary format=dollar10.0 ; class sex jobcode; var salary; table sex,jocode*salary*max / rts=8; run;
(转到SAS运行print26.sas)
27
2007北京大学
产生汇总表格
编程--计算统计量
28
2007北京大学
产生汇总表格
本节的练习题
1. 使用ANALYST(V8)对数据集 flight(或salary)的数据绘制几种汇 总表格; 2.用编程方法对数据集flight (或 salary)的数据绘制几种汇总表格;
2007北京大学
产生汇总表格
编程--控制表格结构
例2.3: 试生成各航班和日期的并排汇总表.
proc tabulate data=flights; class flight day; table flight day; run;
(转到SAS运行print23.sas)
23
2007北京大学
产生汇总表格
12
2007北京大学
制作列表报告
用Printto过程改变输出位置
将输出结果和运行信息直接记入文件
proc printto print='文件名' log=‘文件名’ new ; 过程步 proc printto ;
filename fileref '文件名';

sas讲义第十七课使用列表报告procprint和汇总报告proctabulate

sas讲义第十七课使用列表报告procprint和汇总报告proctabulate

第十七课使用列表报告PROC PRINT和汇总报告PROC TABULATE 利用SAS系统提供的各种过程可以制作各种风格的报表。

一份好的输出报表可以使用户更直观、更清楚和更容易地了解和明白统计计算的结果,因此如何制作一个能充分揭示运算结果信息和满足要求的报告,也是非常重要的。

SAS系统提供的各种制作报表过程中,最常用的是以下两种:●列表报告PROC PRINT过程●汇总报告PROC TABULATE过程一.列表报告PROC PRINT过程所谓列表报告PROC PRINT过程,将输出SAS数据集中的数值,输出时把数据集中的每一个变量形成输出报表的列,而每一个观测形成输出报表的一行。

1PROC PRINT过程的主要功能PROC PRINT过程输出的数据列表具体地说主要能够做到以下几点:●变量的输出格式用户可以选择(Format语句)●可在输出报表中加上标题(Title)和脚注(Footnotes语句)●可输出数据集中变量的任何子集(Where语句)●可以控制变量是否出现以及出现的顺序(V ar语句)●用户可以自己定制列表头(Label语句)●可分组输出观测数据(By语句)●可计算所有观测值或分组观测值的总和(Sum/Sumby语句)及其它统计量●每页报表的宽度和长度以及每列的宽度都可控制(选项Width=)●当数据集中变量太多时,可分成几部分输出(选项Rows=)2PROC PRINT过程语句格式在PROC PRINT过程中,常常配合使用了许多其它SAS语句以达到所要求的输出报表格式,我们把在PROC PRINT过程中常用的一些语句的基本使用格式列出,具体使用时根据需要可能使用其中的几条语句。

如下所示:PROC PRINT<选项列表> ;V AR变量列表;ID变量列表;BY变量列表;PAGEBY变量;SUMBY 变量;SUM变量列表;TITLE n “标题内容”;FOOTNOTE n “标题内容”;LABEL变量1=“标签*内容”变量2=“标签*内容”……;FORMAT变量输出格式;WHERE条件表达式;……Run ;3PROC PRINT的选项PROC PRINT的选项列表包含许多选项,选项之间以空格分隔,选项没有先后次序。

SAS基础讲义

SAS基础讲义

目标•了解SAS系统的功能特点;•熟悉AS系统操作环境;•掌握SAS系统的有关概念;•学会使用DATA Step读入外部数据文件以及对现有的数据集进行读入、修改、拼接以及合并;•学会使用PROC Step的几个重要过程对数据集进行操作;•学会使用ODS(输出传递系统)控制输出;•了解SAS宏语言;第一章SAS系统简介•SAS提供的基本运行环境:显示管理系统。

介绍显示管理系统中的有关窗口、菜单及操作。

•运行一个简单的SAS程序:proc print data=sasuser.admit;varname sex agewhere age gt30;run; 第一章SAS系统简介•SAS系统对数据的管理:*SAS数据集(data set):*SAS数据视图(data view):*SAS数据库(library)和库标记:第一章SAS系统简介*标记一个SAS数据库的两种方法:1、通过菜单进行;2、libname 库标记引擎数据源选项;练习:用两种方法分别建立:1、一个默认的SAS数据库;2、一个包含ORACLE数据的SAS数据库;3、一个包含ODBC数据的SAS数据库。

第一章SAS系统简介*SAS文件快捷方式(File Shortcut):*SAS文件的两级名:库标记.文件名*SAS的永久库和临时库:永久库:SASUSER、SASHELP、自定义的库;临时库:WORK第一章SAS系统简介练习:1、建立一个文件快捷方式。

2、使用SAS Notepad窗口来创建和保存SAS 程序第一章SAS系统简介•SAS变量的类型:*字符型变量(Character Variable):*数值型变量(Numerical Variable):•SAS数据集数据的格式:*输入格式(Informat):指示SAS系统如何读入数据。

*输出格式(Format):指示SAS系统如何输出数据。

第一章SAS系统简介它们的一般形式如下:*<¥>informat-name<w>.<d>*<¥>format-name<w>.<d>¥ 代表变量是字符型的informat-name 输入格式名format-name 输出格式名w 输入或输出的宽度. 必须的分隔符d 小数部分的长度第一章SAS系统简介•SAS系统提供的几种常用输入输出格式:w.d 标准的数字型格式¥w. 标准的字符型格式COMMAw.d 数字中加入逗号DOLLARw.d 数字中加入逗号,数字前加入¥DATEw. 日期格式BESTw. SAS选择最佳表示法此外,用户还可以自定义格式。

SASreport过程介绍

SASreport过程介绍

PROC REPORT基础一、PROC REPORT格式:PROC REPORT data= SAS-data-set options ; COLUMNS variable_1 …. variable_n;DEFINE variable_1;DEFINE variable_2;. . .DEFINE variable_n;COMPUTE blocksBREAK … ;RBREAK … ;RUN;COLUMNS:指定输出到报表的列DEFINE:上述列的格式等COMPUTE:计算模块BREAK / RBREAK:生成合计,或报表其它类型的格式。

PROC REPORT的选项Options有很多,下面介绍几个常用的:DATA= 指定做报表的数据集PROMPT= PROMPT模式NOWINDOWS= 不输出到结果REPORT = 指定一个存储的报表来生成新报表OUTREPT= 指定新路径来存放报表OUT= 建立新数据集HEADLINE 在报表变量标题和内容间生成一个水平分隔线HEADSKIP 在报表变量标题和内容间生成一行空格2 先生成一个基本的报表先生成数据:data mnthly_sales;length zip $ 5 cty $ 8 var $ 10;input zip $ cty $ var $ sales;label zip="Zip Code"cty="County"var="Variety"sales="Monthly Sales";datalines;52423 Scott Merlot 186.52423 Scott Chardonnay 156.6152423 Scott Zinfandel 35.552423 Scott Merlot 55.352388 Scott Merlot 122.8952388 Scott Chardonnay 78.2252388 Scott Zinfandel 15.452200 Adams Merlot 385.5152200 Adams Chardonnay 24652200 Adams Zinfandel 151.152200 Adams Chardonnay 76.2452199 Adams Merlot 233.0352199 Adams Chardonnay 185.2252199 Adams Zinfandel 95.84;run;Proc Report生成最基本的报表:proc report data=mnthly_salesheadline headskip ;title1 "Simple Report";column cty zip var sales;define cty / display width=6 'County/Name';define zip / display;define var / display;define sales / display format=6.2 width=10;run;这里的define后面的’/’,其后面有很多选项来对变量格式,输出方式等进行设置,其选项如下:GROUP:分组显示DISPLAY:一般显示ANALYSIS:其值用于计算或统计ORDER:按其值排序显示ACROSS:交叉显示COMPUTED:其值在compute块里计算得到结果:3 使用order,按指定变量名排序显示proc report data=mnthly_salesheadline headskip ;title1 "Simple Report";column cty zip var sales;define cty / order width=6 'County/Name';define zip / display;define var / display;define sales / display format=6.2 width=10;run;结果:4 group分组显示proc report data=mnthly_sales nofsheadline headskip ;title1 "Simple Report";column cty zip var sales;define cty / group width=6 'County/Name';define zip / group;define var / group order=freq descending;define sales / display format=6.2 width=10;run;结果:5 analysis,统计量求和proc report data=mnthly_sales nofsheadline headskip ;title1 "Simple Report";column cty zip sales;define cty / group width=6 'County/Name';define zip / group;define sales / analysis sum format=6.2 width=10;run;结果:6 求多个统计量proc report data=mnthly_sales nofsheadline headskip ;title1 "Simple Report";column cty zip sales sales=mean_sales;define cty / group width=6 'County/Name';define zip / group;define sales / analysis sum format=6.2 width=10 'sum';define mean_sales / analysis mean format=6.2 width=10 'Mean of/Sales';run;结果:7 如果你想让某变量的每一个值都作为一列,那就要用到across。

用PRINT过程制作列表报告

用PRINT过程制作列表报告

1 李明 92 98 86.8333
2 王思明 86 90 80.5000
3 张聪 98 109 94.4167
proc print data=sasuser.gpa; run;
在过程内使用VAR语句可以指定要列出的变量并指定顺序。比如,
proc print data=c9501;
var name chinese sex;
run;
列出变量NAME、CHINESE、SEX的值。注意这已不是生成时的变量顺序。变量MATH未列出。结果如下
OBS NAME SEX MATH CHINESE AVG
1 李明 男 92 98 86.8333
4 张聪 男 98 109 94.4167
proc sort data=c9501;
by name;
proc sort data=bkmoney;
by name;
data new;
merge c9501 bkmoney;
by name;
run;
proc sort data=new;
by sex;
proc print data=new;
TITLE ' 标题内容';
例如,在前一例的程序前面加上一行
title '95级1班成绩表';
则输出结果的标题为“95级1班成绩表”。要注意的是,TITLE语句是一个所谓的“全程” 语句,“全程”语句与一般语句不同,一般语句必须用在数据步或过程步内,作为数据步或过程步的一部分,而全程语句则既可以用在数据步和过程步内,又可以单独使用(在数据步、过程步外部)使用。全程语句的作用一般有持续性,即:全程语句的效果将持续到退出SAS 系统或用另一个同样的全程语句来修改它。比如,我们在上面用TITLE语句指定了一个标题,那么,这个标题的作用将持续下去,虽然下一个过程没有用TITLE语句指定标题它也会出现在下一个过程的输出中,例如在上面用TITLE语句为C9501数据集的列表输出加了标题后,再运行如下程序:

SAS-report过程介绍

SAS-report过程介绍

PROC REPORT基础一、PROC REPORT格式:PROC REPORT data= SAS-data-set options ; COLUMNS variable_1 …. variable_n;DEFINE variable_1;DEFINE variable_2;. . .DEFINE variable_n;COMPUTE blocksBREAK … ;RBREAK … ;RUN;COLUMNS:指定输出到报表的列DEFINE:上述列的格式等COMPUTE:计算模块BREAK / RBREAK:生成合计,或报表其它类型的格式。

PROC REPORT的选项Options有很多,下面介绍几个常用的:DATA= 指定做报表的数据集PROMPT= PROMPT模式NOWINDOWS= 不输出到结果REPORT = 指定一个存储的报表来生成新报表OUTREPT= 指定新路径来存放报表OUT= 建立新数据集HEADLINE 在报表变量标题和内容间生成一个水平分隔线HEADSKIP 在报表变量标题和内容间生成一行空格2 先生成一个基本的报表先生成数据:data mnthly_sales;length zip $ 5 cty $ 8 var $ 10;input zip $ cty $ var $ sales;label zip="Zip Code"cty="County"var="Variety"sales="Monthly Sales";datalines;52423 Scott Merlot 186.52423 Scott Chardonnay 156.6152423 Scott Zinfandel 35.552423 Scott Merlot 55.352388 Scott Merlot 122.8952388 Scott Chardonnay 78.2252388 Scott Zinfandel 15.452200 Adams Merlot 385.5152200 Adams Chardonnay 24652200 Adams Zinfandel 151.152200 Adams Chardonnay 76.2452199 Adams Merlot 233.0352199 Adams Chardonnay 185.2252199 Adams Zinfandel 95.84;run;Proc Report生成最基本的报表:proc report data=mnthly_salesheadline headskip ;title1 "Simple Report";column cty zip var sales;define cty / display width=6 'County/Name';define zip / display;define var / display;define sales / display format=6.2 width=10;run;这里的define后面的’/’,其后面有很多选项来对变量格式,输出方式等进行设置,其选项如下:GROUP:分组显示DISPLAY:一般显示ANALYSIS:其值用于计算或统计ORDER:按其值排序显示ACROSS:交叉显示COMPUTED:其值在compute块里计算得到结果:3 使用order,按指定变量名排序显示proc report data=mnthly_salesheadline headskip ;title1 "Simple Report";column cty zip var sales;define cty / order width=6 'County/Name';define zip / display;define var / display;define sales / display format=6.2 width=10; run;结果:4 group分组显示proc report data=mnthly_sales nofsheadline headskip ;title1 "Simple Report";column cty zip var sales;define cty / group width=6 'County/Name';define zip / group;define var / group order=freq descending;define sales / display format=6.2 width=10; run;结果:5 analysis,统计量求和proc report data=mnthly_sales nofsheadline headskip ;title1 "Simple Report";column cty zip sales;define cty / group width=6 'County/Name';define zip/ group;define sales / analysis sum format=6.2 width=10;run;结果:6 求多个统计量proc report data=mnthly_sales nofsheadline headskip ;title1 "Simple Report";column cty zip sales sales=mean_sales;define cty / group width=6 'County/Name';define zip/ group;define sales / analysis sum format=6.2 width=10 'sum';define mean_sales / analysis mean format=6.2 width=10 'Mean of/Sales'; run;结果:7 如果你想让某变量的每一个值都作为一列,那就要用到across。

SAS-7

SAS-7

返回总目录目 录第33章 SAS 系统内四种多变量分析程序概述 (3)33.1 四种多变量分析的统计程序 (3)33.2 主成份分析和传统式因子分析的比较.......................................................................4第34章 主成份分析统计程序PROC PRINCOMP (5)34.1 PROC PRINCOMP 程序概述 (5)34.2 如何撰写 PROC PRINCOMP 程序 (5)34.3 范 例.......................................................................................................................7第35章 因子分析统计程序PROC FACTOR .. (18)35.1 因子分析法中的因子一词指什么 (18)35.2 共因子分析法的模型 (18)35.3 PROC FACTOR 程序概述 (18)35.4 因子分析法的历史背景 (19)35.5 如何撰写 PROC FACTOR 程序 (19)35.6 五种合乎语法的输入资料文件形式 (27)35.7 范 例.....................................................................................................................28第36章 典型相关分析统计程序 PROC CANCORR (42)36.1 何谓典型相关 (42)36.2 PROC CANCORR 程序概述 (42)36.3 如何撰写 PROC CANCORR 程序 (42)36.4 范 例.....................................................................................................................47第37章多次元尺度法统计程序PROC MDS (53)37.1 PROC MDS 程序概述 (53)37.2 MDS 程序基本功能的示范 (54)37.3 如何撰写PROC MDS 程序 (56)37.4 范 例 (63)37.5 注 意 事 项 (67)第七部分多变量的分析第33章 SAS 系统内四种多变量分析程序概述33.1 四种多变量分析的统计程序本章将简要地介绍四种多变量分析的统计程序即主成份分析(PRINCOMP)传统式因子分析 (FACTOR)典型相关分析 (CANCORR) 和多次元尺度分析 (MDS)这四种统计程序的功能在于找寻多个变量之间的关系或简化数据的复杂性这些变量并不一定得视为自变量或因变量其中主成份分析传统式因子分析以及多次元尺度分析都是对一组变量作分析而典型相关则是对两组变量作分析SAS 还有其它的统计程序可以执行多变量的统计分析如CATMOD变异数分析回归分析集群分析及鉴别分析等若读者熟悉在SAS 旧版的环境下执行这些程序则建议直接参考附录D 有关这些程序增进的简介下面分别介绍这四种程序 PRINCOMP 程序主成份分析对同一组观察体的多个变量执行主成份分析主成份分析的目的是找出一组变量之间互相依赖的程度将这些线性相关以主成份值表示其分析的结果包括未经标准化及标准化后的主成份值这些主成份值可以代替变量的原始数据进行进一步的分析处理如制图执行回归分析或集群分析值得读者注意的是主成份分析 (Principal Component Analysis) 与主轴因子分析 (Principal Axis Common Factor Analysis) 不是同义词 FACTOR 程序 (传统式因子分析)对同一组观察体内的多个变量执行上述的主成份分析及传统式因子分析因子分析法还附带有因子的坐标转换以取得最大的诠释效果其分析结果可以是标准化的主成份值也可以是传统因子分析的值传统式因子分析的目的在寻求一小群隐藏的变量以解释原变量之间的相关和主成份分析不同的是这一小群隐藏的变量不直接由原变量间的线性组合导出一般国内教科书将因子分析翻译成 "因素分析"因此对本书读者而言这两个名词实系同义词 CANCORR 程序 (典型相关分析)对两组变量执行典型相关分析其分析的结果是典型变量值典型相关分析的目的是藉一小群有最高组间相关的组内变量之线性组合 (又称向量) 来解释并概述两组变量之间的关系构成向量的变量多少并没有限制若某个向量中只含一个变量则典型相关的作用与回归分析或皮尔森相关系数类似第七部分 多变量的分析4 MDS 程序 (多次元尺度分析)MDS 是 Multidimensional Scaling 的简称它代表一系列的分析法其目的在于从一组距离矩阵中找出观察体 (或变量或刺激词)的坐标如此读者可藉图形的视觉效果来检视点与点之间的关系以及潜在向度的意义33.2 主成份分析和传统式因子分析的比较如上所述FACTOR 程序除了涵盖 PRINCOMP 程序并且包括了另外几种常用的因子分析法当读者使用 FACTOR 程序时若不指明用那一种分析法则主成份分析便是 FACTOR 程序的内设值FACTOR 程序产生的主成份值是经过标准化的然而PRINCOMP 程序所产生的主成份值是未经标准化的不过读者也可额外地要求PRINCOMP 算出标准化的主成份值与 FACTOR 程序相比PRINCOMP 程序的优点如下(1) 最适用于变量多但主成份少的大型资料文件可节省电脑处理时间(2) 易于使用(3) 输入资料文件可以是一个净相关系数矩阵或一个净共变异数矩阵与 PRINCOMP 程序相比FACTOR 程序的优点如下(1) 产生的分析结果较 PRINCOMP 程序广泛包括误差值的检定因子坐标转换的角度及特性根由大到小的排列等(2) 包含好几种坐标转换的理论(3) 其输出矩阵较易了解(4) 所涵盖的因子分析法较完全PRINCOMP 程序只有一种分析法即主成份分析法然而 FACTOR 程序内有九种分析法供你选择第34章 主成份分析统计程序PROC PRINCOMP 34.1 PROC PRINCOMP 程序概述读者可用 PRINCOMP 程序对输入资料文件执行主成份分析其输入资料文件可以是原始数据也可以是一个相关系数矩阵或是一个变异数共变异数矩阵输出资料则包括特性根特性向量及(未经) 标准化的主成份值主成份分析是一个多变量的统计程序可用来检定多个数值变量之间的关系主成份分析除了用来概述变量间的关系外还可用来削减回归或集群分析中变量的数目它的主要目的是求出一组变量的线性组合 (即主成份)这些线性组合就是原变量矩阵的特性向量每一个向量的内乘积就是该向量对原变量群能解释的变异数百分比这些特性向量之间应该是彼此线性独立的主成份分析首由皮尔森氏 (Pearson) 于 1901 年提出其后经过赫德林氏 (Hotelling1933) 的发扬有关其应用可见罗氏 (Rao 1964)古氏及隆斯氏 (Cooleyand Lohnes 1971)和干那氏 (Gnanadesikan 1977) 的着作34.2 如何撰写 PROC PRINCOMP 程序PROC PRINCOMP 含六道指令它们的格式如下PROC PRINCOMP选项串V AR变量名称串PARTIAL变量名称串FREQ变量名称WEIGHT变量名称BY 变量名称串一般而言只须用到前两个指令亦即 PROC PRINCOMP 以及 V AR指令 #1 PROC PRINCOMP 选项串有下列十个选项可供选择(1) DATA=输入资料文件名称指明到底对那一个 SAS 资料文件执行 PROC PRINCOMP 的分析这个输入资料文件可以是原始数据也可以是一个相关系数矩阵 (TYPE=CORR 或UCORR)或是一个变异数共变异数矩阵 (TYPE=COV 或 UCOV)或TYPE=FACTOR SSCP ESP 等不同形式的资料文件若省略此选项则 SAS 会自动找出在此程序之前最后形成的资料文件对它执行主成份分析第七部分 多变量的分析6(2) OUT=输出资料文件名称这一个输出资料文件包括输入资料文件的数据以及主成份值(3) OUTSTAT=输出资料文件名称这一个输出资料文件包含下列的统计值算术平均数标准差观察体的总数相关系数 (或变异数共变异数)特性根和特性向量它们的代号与定义如下代号 (_TYPE_)定 义MEAN 每一变量的平均数STD 每一变量的标准差N 观察体的总个数CORR 每一变量与自己或其它的变量之间的相关系数COV 每一变量与自己或其它的变量之间的共变异数EIGENVAL特性根当选项 N= 界定成份个数少于实际导出的个数则以N=界定的个数为准其余的主成份以遗漏值 (.)表示SCORE 特性向量 (这些向量值一般是用来计算主成份值或被输送到FACTOR 程序作因子坐标的转换)SUMWGT 加权值的总和若读者在程序中包括了 PARTIAL 指令而且定V ARDEF=WDF则 SUMWGT 的值是加权值的总和减去PARTIAL 变量串的自由度当 SUMWGT 与 N 值相同时SUMWGT 的变量不会被纳入 OUTSTAT=输出资料文件内(4) NOINT要求相关矩阵或变异数共变异数矩阵不针对平均数作校正也就是说主成份分析不包括截距(5) COV ARIANCE (或 COV)要求以变异数共变异数矩阵为分析的数据若省略此选项则此统计分析将以相关系数矩阵为依据(6) N=正整数界定主成份的总数(7) STANDARD(或 STD)要求 OUT=输出资料文件中含标准化的主成份值若省略此选项则输出资料文件中将含未经标准化的主成份值 (这些值的变异数等于特性根的值)(8) PREFIX=主成份的名字为主成份命名内设值是PRIN1PRIN2... PRINn n 为正整数主成份的名字 (包括字母及数字) 不得超过八个字母或数字(9) NOPRINT不印出分析的结果(10) V ARDEF=DF (或 N 或 WGT 或 WDF)界定计算变异数与共变异数时所用的分母DF 代表自由度是此选项的内设值N 是样本总数WGT 是加权后的样本总数WDF 则是 (WGT-1)第34章 主成份分析统计程序PROC PRINCOMP 7指令 #2 VAR变量名称串指明对那些数值变量作主成份分析若省略此指令则本程序内其它指令里未曾提到的所有数值变量均将被纳入分析指令 #3 PARTIAL变量名称串此指令指明一组变量它们的值将会从其它的变量中净化出来净化后的变量值所形成的矩阵是净相关系数矩阵而非相关系数矩阵若读者在程序中同时界定 OUT= 或OUTSTAT=输出资料文件名则此输出资料文件也会含净化后的残差变量 (Residual Variable)这些残差变量的命名原则是 R_ 加上 V AR 指令所界定之变量名称的前六个字母所以如果 V AR 指令含X Y Z 三个变量则其所对应的残差变量就是R_X R_Y R_Z 了指令 #4 FREQ 变量名称此变量的值代表资料文件内各观察体重复出现的次数所以计算自由度时将以这个变量的总值为依据指令 #5 WEIGHT 变量名称当输入资料文件内各观察体的变异数不等时读者常须依这些不等变异数的倒数指派不同的加权值以区分各观察体的重要性这些加权值可被存入一个 WEIGHT 变量内以代表各观察体的加权值指令 #6 BY变量名称串此指令指示 SAS 将输入资料文件分成几个小的资料文件然后对每一个小的资料文件进行主成份分析当读者选用此指令时输入资料文件内的数据必须先依 BY 指令里所列举的变量值作从小到大的排列这个步骤可藉 PROC SORT 达成34.3 范 例例一一月和七月的气温分析本例的输入资料文件 (TEMPERAT) 是美国六十四个城市一月与七月的平均日温分析过程首先用 PROC PLOT 画出原始数据的分配图然后用 PRINCOMP 程序执行主成份分析求出两个主轴(PRIN1PRIN2)由于一月的温差较大而且选用 COV 选项使得一月在第一主成份上的负荷量较重最后用 PROC PLOT 画出两个主成份上各城市的负荷量读者可同时参阅第一次与第二次PLOT 程序所求得的两个图表来归纳出第一与第二主成份是原坐标轴旋转 30度的结果第七部分 多变量的分析8程 序DATA TEMPERAT;LENGTH CITY $ 16;TITLE 'Mean Temperature in January and July for Selected Cities';INPUT CITY $ :16. JANUARY :4.1 JULY :5.1 @@;CARDS;Mobile 51.2 81.6 Concord20.6 69.7Phoenix51.2 91.2 Atlantic_City 32.7 75.1Little_Rock 39.5 81.4 Albuquerque 35.2 78.7Sacramento 45.1 75.2 Albany 21.5 72.0Denver 29.9 73.0 Buffalo 23.7 70.1Hartford 24.8 72.7 New_York 32.2 76.6Wilmington 32.0 75.8 Charlotte 42.1 78.5Washington_DC 35.6 78.7 Raleigh 40.5 77.5Jacksonville 54.6 81.0 Bismarck 8.2 70.8Miami67.2 82.3 Cincinnati 31.1 75.6Atlanta42.4 78.0 Cleveland 26.9 71.4Boise29.0 74.5 Columbus 28.4 73.6Chicago22.9 71.9 Oklahoma_City 36.8 81.5Peoria23.8 75.1 Portland_OR 38.1 67.1Indianapolis27.9 75.0 Philadelphia 32.3 76.8Des_Moines19.4 75.1 Pittsburgh 28.1 71.9Wichita31.3 80.7 Providence 28.4 72.1Louisville33.3 76.9 Columbia 45.4 81.2New_Orleans52.9 81.9 Sioux_Falls 14.2 73.3Porland_ME21.5 68.0 Memphis 40.5 79.6Baltimore33.4 76.6 Nashville 38.3 79.6Boston29.2 73.3 Dallas 44.8 84.8Detroit25.5 73.3 El_Paso 43.6 82.3Sault_Ste_Marie 14.2 63.8 Houston 52.1 83.3Duluth 8.5 65.6 Salt_Lake_City 28.0 76.7Minneapolis 12.2 71.9 Burlington 16.8 69.8Jackson 47.1 81.7 Norfolk 40.5 78.3Kansas_City 27.8 78.8 Richmond 37.5 77.9St_Louis 31.3 78.6 Spokane 25.4 69.7Great_Falls 20.5 69.3 Charleston_WV 34.5 75.0Omaha 22.6 77.2 Milwaukee 19.4 69.9Reno 31.9 69.3 Cheyenne 26.6 69.1第34章 主成份分析统计程序PROC PRINCOMP 9;PROC PLOT; PLOT JULY*JANUARY=CITY / VPOS=31; RUN;PROC PRINCOMP COV OUT=PRIN;VAR JULY JANUARY; RUN;PROC PLOT;PLOT PRIN2*PRIN1=CITY / VPOS=19;TITLE2 'Plot of Principal Components'; RUN;结 果报表34.1 一月和七月的气温分析 Mean Temperature in January and July for Seleted CitiesPlot of JULY*JANUARY . Symbol is value of CITY .JULY|95 +||| P90 +|||85 + D| H| E N M| W O L C J M J80 + N M| K S AW NC| O L R RA| S WB75 + D P IB C A C S| S D CB| M AC H P D| B C70 + B M C BS| G C R| P P|65 + D| S||60 +| -+---------+---------+---------+---------+---------+---------+---------+-0 10 20 30 40 50 60 70JANUARYNOTE: 3 obs hidden.Principal Component Analysis64 Observations2 Variables Covariance MatrixSimple StatisticsJULY JANUARY JULY JANUARYJULY 26.292477746.8282912Mean 75.6078125032.09531250JANUARY 46.8282912137.1810888Std 5.1276191011.71243309Total Variance = 163.47356647第七部分 多变量的分析10 Eigenvalues of the Covariance Matrix EigenvectorsEigenvalueDifference Proportion Cumulative PRIN1PRIN2PRIN1154.311145.1480.9439480.94395JULY 0.3435320.939141PRIN29.163.0.056052 1.00000JANUARY 0.939141-.343532 Plot of Principal ComponentsPlot of PRIN2*PRIN1. Symbol is value of CITY .10 +|| P|PRIN2 | W| S O K O D| B M D S L| r S W r| I NPL N M C J0 + B AC HD B CW B R N H| D MC B A C RA M N| G B CP D J| P S| S C S| R M|||-10 + P -+---------+---------+---------+---------+---------+---------+---------+-30 -20 -10 0 10 20 30 40PRIN1NOTE: 4 obs hidden.例二犯罪率的分析本例的输入资料文件 (CRIME) 是一个五十个观察体乘以七个变量的原始数据矩阵它包含了美国五十个州在七种犯罪项目上的发生频率这七种罪名分别是谋杀(MURDER)强暴 (RAPE)抢劫 (ROBBERY)骚扰 (ASSAULT)夜间偷窃(BURGLARY)窃盗 (LARCENY) 及偷车 (AUTO)这样一个大型的资料文件可以用主成份分析法简化到只用两个或三个特性向量就可以圆满地表示程 序DATA CRIME;TITLE 'Crime Rates per 100,000 Population by State'; INPUT STATE $ 1-14 MURDER 18-21 RAPE 23-26 ROBBERY 28-32 ASSAULT 34-38BURGLARY 40-45 LARCENY 47-52 AUTO 53-59; CARDS;Alabama 14.2 25.2 96.8 278.3 1135.5 1881.9 280.7Alaska 10.8 51.6 96.8 284.0 1331.7 3369.8 753.3Arizona 9.5 34.2 138.2 312.3 2346.1 4467.4 439.5Arkansas 8.8 27.6 83.2 203.4 972.6 1862.1 183.4California 11.5 49.4 287.0 358.0 2139.4 3499.8 663.5Colorado 6.3 42.0 170.7 292.9 1935.2 3903.2 477.1第34章 主成份分析统计程序PROC PRINCOMP 11Connecticut 4.2 16.8 129.5 131.8 1346.0 2620.7 593.2Delaware 6.0 24.9 157.0 194.2 1682.6 3678.4 467.0Florida 10.2 39.6 187.9 449.1 1859.9 3840.5 351.4Georgia 11.7 31.1 140.5 256.5 1351.1 2170.2 297.9Hawaii 7.2 25.5 128.0 64.1 1911.5 3920.4 489.4Idaho 5.5 19.4 39.6 172.5 1050.8 2599.6 237.6Illinois 9.9 21.8 211.3 209.0 1085.0 2828.5 528.6Indiana 7.4 26.5 123.2 153.5 1086.2 2498.7 377.4Iowa 2.3 10.6 41.2 89.8 812.5 2685.1 219.9Kansas 6.6 22.0 100.7 180.5 1270.4 2739.3 244.3Kentucky 10.1 19.1 81.1 123.3 872.2 1662.1 245.4Louisiana 15.5 30.9 142.9 335.5 1165.5 2469.9 337.7Maine 2.4 13.5 38.7 170.0 1253.1 2350.7 246.9Maryland 8.0 34.8 292.1 358.9 1400.0 3177.7 428.5Masssachusetts 3.1 20.8 169.1 231.6 1532.2 2311.3 1140.1Michigen 9.3 38.9 261.9 274.6 1522.7 3159.0 545.5Minnesota 2.7 19.5 85.9 85.8 1134.7 2559.3 343.1Mississippi 14.3 19.6 65.7 189.1 915.6 1239.9 144.4Missouri 9.6 28.3 189.0 233.5 1318.3 2424.2 378.4Montana 5.4 16.7 39.2 156.8 804.9 2773.2 309.2Nebraska 3.9 18.1 64.7 112.7 760.0 2316.1 249.1Nevada 15.8 49.1 323.1 355.0 2453.1 4212.6 559.2New Hampshire 3.2 10.7 23.2 76.0 1041.7 2343.9 293.4New Jersey 5.6 21.0 180.4 185.1 1435.8 2774.5 511.5New Mexico 8.8 39.1 109.6 343.4 1418.7 3008.6 259.5New York 10.7 29.4 472.6 319.1 1728.0 2782.0 745.8North Carolina 10.6 17.0 61.3 318.3 1154.1 2037.8 192.1North Dakota 0.9 9.0 13.3 43.8 446.1 1843.0 144.7Ohio 7.8 27.3 190.5 181.1 1216.0 2696.8 400.4Oklahoma 8.6 29.2 73.8 205.0 1288.2 2228.1 326.8Oregon 4.9 39.9 124.1 286.9 1636.4 3506.1 388.9Pennsylvania 5.6 19.0 130.3 128.0 877.5 1624.1 333.2Rhode Island 3.6 10.5 86.5 201.0 1489.5 2844.1 791.4South Carolina 11.9 33.0 105.9 485.3 1613.6 2342.4 245.1South Dakota 2.0 13.5 17.9 155.7 570.5 1704.4 147.5Tennessee 10.1 29.7 145.8 203.9 1259.7 1776.5 314.0Texas 13.3 33.8 152.4 208.2 1603.1 2988.7 397.6Utah 3.5 20.3 68.8 147.3 1171.6 3004.6 334.5第七部分 多变量的分析12Vermont1.4 15.9 30.8 101.2 1348.2 2201.0 265.2Virginia 9.0 23.3 92.1 165.7 986.2 2521.2 226.7Washington 4.3 39.6106.2 224.8 1605.6 3386.9 360.3West Virginia 6.0 13.2 42.2 90.9 597.41341.7 163.3Wisconsin 2.8 12.9 52.2 63.7 846.9 2614.2 220.7Wyoming 5.4 21.9 39.7 173.9 811.6 2772.2 282.0;PROC PRINCOMP OUT=CRIMCOMP;RUN;PROC SORT; BY PRIN1;PROC PRINT; ID STATE;VAR PRIN1 PRIN2 MURDER RAPE ROBBERY ASSAULT BURGLARY LARCENY AUTO;TITLE2 'States Listed in Order of Overall Crime Rate'; TITLE3 'As Determined by the First Principal Component';PROCSORT; BY PRIN2;PROC PRINT; ID STATE;VAR PRIN1 PRIN2 MURDER RAPE ROBBERY ASSAULT BURGLARY LARCENYAUTO ;TITLE2 'States Listed in Order of Property Vs. Violent Crime'; TITLE3 'As Determined by the Second Principal Component';RUN;PROC PLOT; PLOT PRIN2*PRIN1=STATE /VPOS=31; TITLE2 'Plot of the First Two Principal Components';PROC PLOT; PLOT PRIN3*PRIN1=STATE / VPOS=26; TITLE2 'Plot of the First and Third Principal Components';RUN;结 果由初步的分析结果看来前两个主成份加起来便可以解释 76% 的变异数若再加上第三个主轴则百分比升到 87%但第四个及以后的主成份便没有这么显著的影响 (见报表 34.2a)第一个主成份代表一般犯罪率的高低它的特性向量在这七个变量上差不多第二个主成份似乎在犯罪类型中分出财物偷窃和暴力犯罪的不同第三主成份的解释则不甚清楚为了诠释这些主成份的意义可将原始数据依各主成份的值重新排列然后印出整理过后的数据 (见报表 34.2b)另一种有效的方法是将各州主成份的值以坐标图表示然后试着去了解各区 (如中西部东南部) 在坐标图上的分布 (见报表 34.2c)现举一例说明如何在坐标图上识别各州如第一图上有四个 "A" 开头的州名即Alabama Arkansas Alaska 和 Arizona 在这四州中Alabama 的位置最靠近横轴其坐标值是 (-.0499-2.0961)请读者同时参第34章 主成份分析统计程序PROC PRINCOMP 13阅坐标值与图形以便识别各州在犯罪率上的分析报表34.2a 犯罪率的分析 ━ 初步结果Crime Rates per 100,000 Population by StatePrincipal Component Analysis50 Observations 7 VariablesSimple StatisticsMURDERRAPE ROBBERY ASSAULT BURGLARY LARCENY AUTOMean 7.44400000025.73400000124.0920000211.30000001291.9040002671.288000377.5260000Std3.86676894110.7596299588.3485672100.2530492432.455711725.908707193.3944175Correlation MatrixMURDERRAPEROBBERY ASSAULT BURGLARY LARCENY AUTO MURDER 1.00000.60120.48370.64860.38580.10190.0688RAPE 0.6012 1.00000.59190.74030.71210.61400.3489ROBBERY 0.48370.5919 1.00000.55710.63720.44670.5907ASSAULT 0.64860.74030.5571 1.00000.62290.40440.2758BURGLARY 0.38580.71210.63720.6229 1.00000.79210.5580LARCENY 0.10190.61400.44670.40440.7921 1.00000.4442AUTO0.06880.34890.59070.27580.55800.44421.0000Eigenvalues of the Correlation MatrixEigenvalueDifferenceProportion CumulativePRIN1 4.11496 2.876240.5878510.58785PRIN2 1.238720.512910.1769600.76481PRIN30.725820.409380.1036880.86850PRIN40.316430.058460.0452050.91370PRIN50.257970.035930.0368530.95056PRIN60.222040.097980.0317200.98228PRIN70.124060.0177221.00000EigenvectorsPRIN1PRIN2PRIN3PRIN4PRIN5PRIN6PRIN7MURDER 0.300279-.6291740.178245-.2321140.5381230.2591170.267593RAPE 0.431759-.169435-.2441980.0622160.188471-.773271-.296485ROBBERY 0.3968750.0422470.495861-.557989-.519977-.114385-.003903ASSAULT 0.396652-.343528-.0695100.629804-.5066510.1723630.191745BURGLARY 0.4401570.203341-.209895-.0575550.1010330.535987-.648117LARCENY 0.3573600.402319-.539231-.2348900.0300990.0394060.601690AUTO0.2951770.5024210.5683840.4192380.369753-.0572980.147046第七部分 多变量的分析14报表34.2b 犯罪率的分析━第一与第二主成份值的排列Crime Rates per 100,000 Population by State States Listed in Order of Overall Crime Rate As Determined by the First Principal ComponentB R A U L M O S R A S P P U B S G R T R R R R B A LC A A I ID AE U A E U T N N E P R L R N T E12R E Y T Y Y O NorthDakota -3.964080.387670.99.013.343.8446.11843.0144.7SouthDakota -3.17203-0.25446 2.013.517.9155.7570.51704.4147.5WestVirginia -3.14772-0.81425 6.013.242.290.9597.41341.7163.3Iowa-2.581560.82475 2.310.641.289.8812.52685.1219.9Wisconsin -2.502960.78083 2.812.952.263.7846.92614.2220.7NewHampshire -2.465620.82503 3.210.723.276.01041.72343.9293.4Nebraska -2.150710.22574 3.918.164.7112.7760.02316.1249.1Vermont -2.064330.94497 1.415.930.8101.21348.22201.0265.2Maine -1.826310.57878 2.413.538.7170.01253.12350.7246.9Kentucky -1.72691-1.1466310.119.181.1123.3872.21662.1245.4Pennsylvania -1.72007-0.19590 5.619.0130.3128.0877.51624.1333.2Montana -1.668010.27099 5.416.739.2156.8804.92773.2309.2Minnesota -1.55434 1.05644 2.719.585.985.81134.72559.3343.1Mississippi -1.50736-2.5467114.319.665.7189.1915.61239.9144.4Idaho-1.43245-0.00801 5.519.439.6172.51050.82599.6237.6Wyoming -1.424630.06268 5.421.939.7173.9811.62772.2282.0Arkansas -1.05441-1.345448.827.683.2203.4972.61862.1183.4Utah-1.049960.93656 3.520.368.8147.31171.63004.6334.5Virginia-0.91621-0.692659.023.392.1165.7986.22521.2226.7NorthCarolina -0.69925-1.6702710.617.061.3318.31154.12037.8192.1Kansas-0.63407-0.02804 6.622.0100.7180.51270.42739.3244.3Connecticut -0.54133 1.50123 4.216.8129.5131.81346.02620.7593.2Indiana -0.499900.000037.426.5123.2153.51086.22498.7377.4Oklahoma -0.32136-0.624298.629.273.8205.01288.22228.1326.8RhodeIsland -0.20156 2.14658 3.610.586.5201.01489.52844.1791.4Tennessee -0.13660-1.1349810.129.7145.8203.91259.71776.5314.0Alabama -0.04988-2.0961014.225.296.8278.31135.51881.9280.7NewJersey 0.217870.96421 5.621.0180.4185.11435.82774.5511.5Ohio 0.239530.090537.827.3190.5181.11216.02696.8400.4Georgia 0.49041-1.3807911.731.1140.5256.51351.12170.2297.9Illinois 0.512900.094239.921.8211.3209.01085.02828.5528.6Missouri 0.55637-0.558519.628.3189.0233.51318.32424.2378.4Hawaii0.82313 1.823927.225.5128.064.11911.53920.4489.4Washington 0.930580.73776 4.339.6106.2224.81605.63386.9360.3Delaware 0.96458 1.29674 6.024.9157.0194.21682.63678.4467.0Masssachusetts 0.97844 2.63105 3.120.8169.1231.61532.22311.31140.1Louisiana 1.12020-2.0832715.530.9142.9335.51165.52469.9337.7NewMexico 1.21417-0.950768.839.1109.6343.41418.73008.6259.5Texas 1.39696-0.6813113.333.8152.4208.21603.12988.7397.6Oregon1.449000.586034.939.9124.1286.91636.43506.1388.9第34章 主成份分析统计程序PROC PRINCOMP15SouthCarolina 1.60336-2.1621111.933.0105.9485.31613.62342.4245.1Maryland 2.18280-0.194748.034.8292.1358.91400.03177.7428.5Michigen 2.273330.154879.338.9261.9274.61522.73159.0545.5Alaska 2.421510.1665210.851.696.8284.01331.73369.8753.3Colorado 2.509290.91660 6.342.0170.7292.91935.23903.2477.1Arizona 3.014140.844959.534.2138.2312.32346.14467.4439.5Florida 3.11175-0.6039210.239.6187.9449.11859.93840.5351.4NewYork 3.452480.4328910.729.4472.6319.11728.02782.0745.8California 4.283800.1431911.549.4287.0358.02139.43499.8663.5Nevada5.26699-0.2526215.849.1323.1355.02453.14212.6559.2Crime Rates per 100,000 Population by StateStates Listedin Orderof Property Vs. Violent Crime As Determined by the Second Principal ComponentB R A U L M O S R A S P P U B S G R T R R R R B A LC A A I ID AE U A E U T N N E P R L R N T E12RE Y T Y Y O Mississippi -1.50736-2.5467114.319.665.7189.1915.61239.9144.4SouthCarolina 1.60336-2.1621111.933.0105.9485.31613.62342.4245.1Alabama -0.04988-2.0961014.225.296.8278.31135.51881.9280.7Louisiana1.12020-2.0832715.530.9142.9335.51165.52469.9337.7NorthCarolina -0.69925-1.6702710.617.061.3318.31154.12037.8192.1Georgia 0.49041-1.3807911.731.1140.5256.51351.12170.2297.9Arkansas -1.05441-1.345448.827.683.2203.4972.61862.1183.4Kentucky -1.72691-1.1466310.119.181.1123.3872.21662.1245.4Tennessee -0.13660-1.1349810.129.7145.8203.91259.71776.5314.0NewMexico 1.21417-0.950768.839.1109.6343.41418.73008.6259.5WestVirginia -3.14772-0.81425 6.013.242.290.9597.41341.7163.3Virginia -0.91621-0.692659.023.392.1165.7986.22521.2226.7Texas 1.39696-0.6813113.333.8152.4208.21603.12988.7397.6Oklahoma -0.32136-0.624298.629.273.8205.01288.22228.1326.8Florida 3.11175-0.6039210.239.6187.9449.11859.93840.5351.4Missouri 0.55637-0.558519.628.3189.0233.51318.32424.2378.4SouthDakota -3.17203-0.25446 2.013.517.9155.7570.51704.4147.5Nevada5.26699-0.2526215.849.1323.1355.02453.14212.6559.2Pennsylvania -1.72007-0.19590 5.619.0130.3128.0877.51624.1333.2Maryland 2.18280-0.194748.034.8292.1358.91400.03177.7428.5Kansas -0.63407-0.028046.622.0100.7180.51270.42739.3244.3Idaho -1.43245-0.00801 5.519.439.6172.51050.82599.6237.6Indiana -0.499900.000037.426.5123.2153.51086.22498.7377.4Wyoming -1.424630.06268 5.421.939.7173.9811.62772.2282.0Ohio 0.239530.090537.827.3190.5181.11216.02696.8400.4Illinois 0.512900.094239.921.8211.3209.01085.02828.5528.6California 4.283800.1431911.549.4287.0358.02139.43499.8663.5Michigen 2.273330.154879.338.9261.9274.61522.73159.0545.5Alaska 2.421510.1665210.851.696.8284.01331.73369.8753.3Nebraska -2.150710.22574 3.918.164.7112.7760.02316.1249.1Montana-1.668010.27099 5.416.739.2156.8804.92773.2309.2NorthDakota -3.964080.387670.99.013.343.8446.11843.0144.7NewYork3.452480.4328910.729.4472.6319.11728.02782.0745.8第七部分 多变量的分析16Maine -1.826310.57878 2.413.538.7170.01253.12350.7246.9Oregon 1.449000.58603 4.939.9124.1286.91636.43506.1388.9Washington 0.930580.73776 4.339.6106.2224.81605.63386.9360.3Wisconsin -2.502960.78083 2.812.952.263.7846.92614.2220.7Iowa-2.581560.82475 2.310.641.289.8812.52685.1219.9NewHampshire -2.465620.82503 3.210.723.276.01041.72343.9293.4Arizona3.014140.844959.534.2138.2312.32346.14467.4439.5Colorado 2.509290.91660 6.342.0170.7292.91935.23903.2477.1Utah -1.049960.93656 3.520.368.8147.31171.63004.6334.5Vermont -2.064330.94497 1.415.930.8101.21348.22201.0265.2NewJersey 0.217870.96421 5.621.0180.4185.11435.82774.5511.5Minnesota-1.554341.056442.719.585.985.81134.72559.3343.1Delaware 0.96458 1.29674 6.024.9157.0194.21682.63678.4467.0Connecticut -0.54133 1.50123 4.216.8129.5131.81346.02620.7593.2Hawaii 0.82313 1.823927.225.5128.064.11911.53920.4489.4RhodeIsland -0.20156 2.14658 3.610.586.5201.01489.52844.1791.4Masssachusetts 0.978442.631053.120.8169.1231.61532.22311.31140.1报表34.2c 犯罪率的分析 ━ 第一与第二主成份第一与第三主成份的坐标图Crime Rates per 100,000 Population by State Plot of the First Two Principal Components Plot of PRIN2*PRIN1. Symbol is value of STATE. 3 + || M || R 2 +| H | C || D1 + V M U N C | WN W A PRIN2 | M O|N N| N M MA C 0 + I KI O I| S P M N || V O M T F | W-1 + N | K T| A G | N |-2 + A L | S || M | -3 +-+--------------------+-------------------+-------------------+-------------------+--------------------+ -4 -2 0 2 4 6PRIN1 NOTE: 2 obs hidden.第34章 主成份分析统计程序PROC PRINCOMP 17Crime Rates per 100,000 Population by State Plot of the First and Third Principal Components Plot of PRIN3*PRIN1. Symbol is value of STAT E.3 +| N | M | | 2 + | PRIN3 | || I 1 + P R | M C| W K TA N M M | O L M| I G C 0 +N A N T A | S N N M V O| W M K N | I VM I U D S | H -1 + N| O C F | W || A -2 +-+---------- ----------+---------------------+---------------------+-------------------+-------------------+ -4 -2 0 2 4 6PRIN1 NOTE: 1 obs hidden.第35章因子分析统计程序PROC FACTOR35.1 因子分析法中的因子一词指什么许多人对因子分析法中所指的因子 一词不甚了解本节特就此说明之因子分析法中提到两种因子共同因子 (又称共因子) 和独特因子 这两种因子都是指一个(或一组) 假设的抽象的变量所谓共同因子指一个假设的抽象的变量它可用来解释两个或两个以上的原始变量然而独特因子则指一个假设的抽象的变量它只能用来解释一个原始的变量与其它变量完全无关如上所述因子指假设的抽象的变量它的功能在于诠释原始变量之间的关系或结构然而主成份是指原始变量间的线性组合它的功能在于简化原有的变量群35.2 共因子分析法的模型共因子分析法的模型允许每一变量有一独特因子所以Y ij = X i1b 1j + X i2b 2j +...+ X iq b qj + E ij其中Y ij = 第 i 个观察体在第 j 个变量上的值X ik = 第 i 个观察体在第 k 个共因子上的值b kj = 被第 k 个共因子用来预测第 j 个变量的回归系数又称因子负荷量(FactorLoading)Ei j = 第 i 个观察体在第 j 个独特因子上的值q = 共同因子的总数这个模型的两项假设如下独特因子之间是互相独立的共因子与独特因子之间是互相独立的35.3 PROC FACTOR程序概述因子分析及坐标的转换PROC FACTOR 可以对输入资料文件执行许多种不同的共因子分析及主成份分析也可将分析的结果经过坐标的转换以利于诠释第35章 因子分析统计程序PROC FACTOR 19输入资料文件PROC FACTOR 的输入资料文件可以是多变量数据一个相关系数矩阵一个变异数共变异数矩阵因子型态 (Factor Pattern)或是一个因子分数系数 (Factor Score Coefficient) 的矩阵FACTOR 程序也接受其它程序的输出资料文件所以输入资料文件变化很多详情见本章的第 35.6 节 因子提炼的方法FACTOR 程序提供九种因子提炼的方法供读者选用这九种方法将在介绍选项METHOD= 中详加解释另外FACTOR 程序也提供了六种方法来预估变量间的共通性见选项 PRIORS= 的说明 因子坐标的转换一般而言因子坐标的转换可分正交及斜交两大类FACTOR 程序提供了八种坐标转换的方法供读者选择见选项 ROTATE= 的说明 输出资料文件FACTOR 程序所产生的输出资料文件不止一个它们分别在选项 OUTSTAT= 中逐一说明35.4 因子分析法的历史背景共因子分析由史氏 (Spearman) 于 1904 年首创 读者可参阅古德氏 (Gould 1981)及金氏与穆勒氏 (Kim and Mueller 1978) 的书籍以便对分析法的目的及模型有初步的认识较深入的讨论可参看慕雷克 (Mulaik 1972) 与哈门 (Harman 1976) 的着作35.5 如何撰写 PROC FACTOR 程序PROC FACTOR 含七道指令它们的格式如下PROC FACTOR选项串PRIORS 变量共通性的预估值V AR 变量名称串PARTIAL 变量名称串FREQ 变量名称WEIGHT 变量名称BY变量名称串通常读者只须用到 PROC FACTOR 及 V AR 两道指令第七部分多变量的分析20指令 #1PROC FACTOR 选项串PROC FACTOR 的选项可分下列五大类讨论第一类选项与资料文件的界定有关第二类与因子提炼有关第三类与因子坐标的转换有关第四类选项控制报表的印出第五类含其它选项第一类选项 下列四选项与资料文件的界定有关(1) DATA=输入资料文件名称为输入资料文件命名若省略此选项则 SAS 会自动找出在此程序之前最后形成的 SAS 资料文件对它执行因子分析(2) TARGET=资料文件名称这一个资料文件内含有 Procrustes 坐标转换后理想的值必须与 ROTATE=PROCRUSTES 选项并用(3) OUT=输出资料文件名称这一个输出资料文件包括原输入资料文件的观察值以及因子分数 (Factor Score)这些值以 FACTOR1FACTOR2 等表示读者必须同时用 NFACTOR=选项界定因子个数上限(4) OUTSTAT=第二个输出资料文件名称这一个输出资料文件较上述 OUT=输出资料文件详尽下页的表是 OUTSTAT 文件所含因子分析的各项统计值之代号及它们的定义有些概念会在后面的章节中进一步解释代号 (_TYPE_=) 定 义MEAN 变量的平均数STD 变量的标准差N 观察体的总数CORR 相关系数矩阵矩阵内各横列的变量名字以 _NAME_ 表示IMAGE 映象系数矩阵 (Image Coefficient Matrix)矩阵内各横列的变量名字以 _NAME_ 表示IMAGECOV 映象的共变异数矩阵 (Image Covariance Matrix)矩阵内各横列的变量名字以 _NAME_ 表示COMMUNAL 各变量共通性的最终估计值PRIORS 各变量共通性的预估值WEIGHT 变量的加权值EIGENVAL 特性根UNROTATE 未经坐标转换的因子系数型态RESIDUAL 独特因子的相关系数矩阵TRANSFOR 坐标转换矩阵FCORR 共因子间的相关系数矩阵PA TTERN 因子系数的型态RCORR坐标轴间的相关系数矩阵REFERENC 参考结构矩阵 (Reference Structure Matrix)STRUCTUR 因子结构矩阵 (Factor Structure Matrix)SCORE 共因子分数的系数 (可输入 SCORE 程序以便产生共因子分数见第 12 章的例一)USCORE未经平均数矫正过的共因子分数的系数第二类选项下列十一个选项与因子提炼有关(1) METHOD=因子提炼的方法 (简写为 M=)一般而言此选项的内设值是 MEHTOD=PRINCIPAL 但当输入资料文件是TYPE=FACTOR 的情况下内设值是 METHOD=PATTERN 下列九种因子提炼的方法可供读者选用M=PRINCIPAL此选项的因子提炼方法视选项 PRIORS= 而定当此选(或 PRIN 或 P)项不与PRIORS= 并用或与 PRIORS=ONE 并用时它的因子提炼方法是主成份分析法否则它的因子提炼法是主轴因子分析法 (Principal Axis Common Factor Analysis)M=PRINIT界定循环式主轴因子分析 (Iterative Principal Axis Method)M=ULS (或 U)界定未加权的最小误差平方之因子分析 (Unweighted Least Squares Method)M=ALPHA (或 A)界定阿尔法因子分析(Alpha Factor Analysis)M=ML (或 M)界定最大可能率因子分析此法要求一个满秩的相关系数矩阵M=HARRIS (或 H)界定哈里斯氏 (Harris) 于 1962 年提出的 S -1RS -1 主轴分析此处S是变量的变异数共变异数矩阵R 是变量间的相关系数矩阵此法要求一个满秩的相关系数矩阵M=IMAGE (或 I)针对映象共变异数矩阵作主成份分析 (Principal Component Analysis of Image Covariance Matrix)此法要求一个满秩的相关系数矩阵请读者注意比法与凯斯(Kaiser 196319701974) 所提的映象分析 (Image Analysis) 无关M=PATTERN从输入资料文件 (其 TYPE=FACTOR CORR 或 COV)内取得因子负荷量矩阵若因子之间有线性相关则其间的相关系数也必须同时输入 (TYPE='FCORR' 的数据)M=SCORE从输入资料文件 (其 TYPE=FACTOR CORR 或 COV)内取得因子分数的系数这个输入资料文件必须同时包括变量间的相关系数或其变异数共变异数矩阵(2) PRIORS=变量共通性的预估值PRIORS=ONE (或 O)设定所有共通性的预估值为1PRIORS=MAX (或 M)取每一变量与其它变量的最大相关系数绝对值为该变量共通性的预估值PRIORS=SMC (或 S)取每一变量与其它变量的复相关平方值为该变量共通性的预估值PRIORS=ASMC(或 A)将上述的复相关 (SMC) 调整使其总和等于最大相关系数绝对值的总和而共通性预估值将与此值成正比 (Cureton 1968)PRIORS=INPUT(或I)如果输入资料文件的TYPE=FACTOR 则读者可选用此选项SAS 会进入资料文件内寻找 _TYPE_='PRIORS' 或_TYPE_='COMMUNAL'的变量此变量的第一个观察值就成为共通性的预估值PRIORS=RANDOM(或 R)随机取 0 与 1 之间的任何值为共通性的预估值下表列出因子提炼方法与共通性预估值的内设值之配对因子提炼的方法 共通性预测值的内设值 METHOD= PRIORS= PRINCIPAL ONEPRINITONE ALPHA SMC ULS SMC ML SMC HARRIS (不适用) IMAGE (不适用) PA TTERN(不适用)SCORE (不适用)(3) RANDOM=正整数起始随机随机数表的起始值与选项 (2) PRIORS=RANDOM 联用(4) MAXITER=正整数界定METHOD=PRINITULS ALPHA 或 ML 等因子分析法中循环分析的次数内设值是30(5) CONVERGE (或 CONV)= 正实数界定METHOD=PRINITULS ALPHA 或 ML 等因子分析法中循环分析的收敛值它的定义是两次循环所求得变量之共通性的差距当这个差距小于此选项所定的值时循环分析停止内设值是.001(6) COV ARIANCE (或 COV)要求 FACTOR程序对变异数共变异数矩阵 (而非相关系数矩阵) 执行因子分析此选项必须与 METHOD=PRINCIPAL PRINIT ULS 或 IMAGE适用(7) WEIGHT要求 FACTOR 程序对一个经过加权调整的相关系数矩阵或变异数共变异数矩阵执行因子分析选用此项时必须同时满足下列的条件METHOD=PRINCIPALPRINIT ULS 或IMAGE输入资料文件的TYPE=CORR COV UCORR UCOV 或FACTOR 各变量的加权值由 _TYPE_='WEIGHT'提供下面三个选项都可用来决定因子的总数如果读者在下面三选项中同时选用两个或三个选项则 SAS 会自动挑选最小的值(8) NFACTORS (或 NFACT 或 N)=正整数界定因子个数的上限内设值是所有被分析变量的总个数(9) PROPORTION (或 PERCENT 或 P)=百分比(正实数不带 % 符号)界定一个共因子至少要能解释的变量之变异数百分比内设值是 1 (即百分之百)此选项不可与 METHOD=PATTERN 或 SCORE 合用(10) MINEIGEN (或 MIN)=最小特性根的值要求 SAS 保留特性根大于此选项所设定的那些因子此选项不可与METHOD=PATTERN 或SCORE 合用一般而言其内设值是0若读者对未加权过的相关系数矩阵进行因子分析则其内设值等于1但如果读者同时省略NFACTORS=PROPORTION= 及 MINEIGEN= 三选项时SAS 会依下面的原则自行设定 MINEIGEN 的值当 METHOD= 则 MINEIGEN 的值为 ALPHA 或 HARRIS 1 IMAGE 映象的总变异数 (Total Image Variance)变量的总个数其它 的方法而且经过加权调整的总变异数PRIORS=1 变量的总个数一般而言当共通性的预估值超过 1 时 METHOD=PRINIT ULS ALPHA 和ML 立刻停止分析的过程并设因子的总个数为0下列两个选项可以让分析过程恢复(11) HEYWOOD (或 HEY)将大于 1 的变量共通性重新调整为 1如此分析可以继续进行(12) ULTRAHEYWOOD (或 ULTRA)改变规定允许变量的共通性大于 1此选项极可能导致不合理的分析结果因此应慎重使用之第三类选项 下列六个选项与坐标转换有关(1) ROTATE (或 R)=坐标转换法有八种方法可供选择R=V ARIMAX (或 V)界定最大变异数转换法R=QUARTIMAX (或 Q)界定四次方最大值转换法R=EQUAMAX (或 E)界定平衡最大值坐标转换法。

sas 教程

sas 教程

sas 教程
SAS(Statistical Analysis System)是一种统计分析系统,用于数据分析和应用的程序和工具的集合。

它具有强大的数据处理和分析功能,常被应用于各种数据处理和统计分析的领域。

SAS的语法结构相对严谨,下面介绍一些常用的SAS基础语法和操作:
1. 数据集的创建和导入
使用DATA语句创建SAS数据集,并使用SET、MERGE、UPDATE等语句导入和合并数据集。

2. 数据集的浏览和修改
使用PROC PRINT、PROC CONTENTS等语句来查看数据集的内容和属性,并使用DATA语句和相关函数对数据集进行修改。

3. 数据处理和转换
使用DATA和相关函数来进行数据处理和转换,如变量的重编码、缺失值处理、变量的计算和排序等。

4. 统计分析
使用PROC或DATA步骤中的相关统计函数进行数据分析,如频数分析、描述统计、方差分析、回归分析等。

5. 数据报告
使用PROC REPORT、PROC TABULATE等语句对数据进行
报告和汇总,生成PDF、Excel等报告格式。

6. 图表和可视化
使用PROC SGPLOT、PROC GCHART等语句进行图表和可视化的绘制,如直方图、散点图、饼图等。

7. 宏变量和宏语言
使用%LET语句定义宏变量,使用%MACRO和%MEND定义和调用宏语言,实现在SAS程序中的自动化和批量处理。

以上是SAS的一些基础语法和操作,通过学习和实践,可以进一步掌握SAS在数据分析和统计建模方面的应用。

SAS拥有庞大的社区和资源,可以通过官方文档、在线论坛和培训课程等途径获取更多的学习资料和支持。

SAS统计分析教程方法总结

SAS统计分析教程方法总结

SAS统计分析教程方法总结SAS(Statistical Analysis System)是一种流行的统计分析软件,被广泛应用于各个领域的数据分析和决策支持中。

本文将总结SAS统计分析教程的方法,以帮助读者更好地理解和应用SAS软件。

1.数据导入与数据清洗:在进行统计分析之前,首先需要将数据导入SAS软件中。

SAS支持多种数据格式,如Excel、CSV等。

可以使用INFILE和INPUT语句读取数据,并使用DATA步骤定义变量。

在导入数据后,通常需要对数据进行清洗,包括处理缺失值、异常值等。

SAS提供了多种数据处理函数,如MEAN、SUM等,可以帮助完成数据清洗和处理工作。

2.描述性统计分析:描述性统计分析可以了解数据的特征和分布情况。

例如,可以使用PROCMEANS计算数据的均值、标准差、最小值、最大值等;使用PROCFREQ计算离散变量的频数和频率等。

此外,SAS还提供了PROCUNIVARIATE、PROCSUMMARY等过程,可以方便地进行更加复杂的描述性统计分析。

3.统计图表绘制:统计图表是数据分析中常用的可视化工具,能够直观地展示数据的特征和趋势。

SAS提供了PROC SGPLOT和PROC GPLOT等过程,可以绘制各种类型的统计图表,如直方图、散点图、柱状图等。

通过调整图形参数,可以使图表更加美观和易读。

此外,SAS还支持使用ODS(OutputDelivery System)输出图表到不同的输出格式中。

4.假设检验与推断统计:假设检验是统计分析中常用的方法,可以用来判断数据之间是否存在显著差异。

在SAS中,可以使用PROCTTEST、PROCANOVA等过程进行单样本、双样本和多样本假设检验。

此外,SAS还支持非参数检验方法,如PROCNPAR1WAY等。

除了假设检验,推断统计也是重要的统计分析方法,用于对总体参数进行估计和推断。

在SAS中,可以使用PROCMEANS、PROCREG等过程进行点估计和区间估计。

SAS过程步操作基础ppt课件

SAS过程步操作基础ppt课件
报表输出过程:用以显示各种实用信息,包括数据列表、 汇总报告、日历、书信、标签、表单以及各种图形报表等。
统计计算过程:用以计算各种基本统计量,包括均数、标 准差等基于矩的统计量,分位数,可信区间,频数等;还 可编制交叉表、进行相关分析以及针对各种分布形式的假 设检验;此外还可对数据进行编秩及标准化等操作。
测)的输出显示。 print过程功能特性:自动格式化,以变量名称或标签
为列标题,选择性输出,特定的by格式以及id格式。 print过程的一般形式:
proc print data=SAS-data-set options; other statements;
run;
精选课件ppt
15
proc print语句的主要选项
(2)其它用于定义分析操作内容的语句,如class 语句、var语句、tables语句等;
(3)run语句,用于标志当前过程步程序的结束。 如果此过程步后紧随其它过程步或数据步,run语句 可省略。
精选课件ppt
4
proc语句
每一个过程步都以proc语句开始; proc语句以proc关键字开始,紧跟其后的是所
精选课件ppt
7
报表输出过程
CALENDAR CHART FORMS FREQ
MEANS PLOT PRINT REPORT
SQL SUMMARY TABULATE TIMEPLOT
精选课件ppt8来自统计计算过程CHART CORR FREQ MEANS
RANK REPORT SQL STANDARD
调用SAS过程的名称,语句中还可包括众多的 控制选项; 多数SAS过程的proc语句中均包括“data=”选 项,用以指定该SAS过程所要处理的数据集; 不同的SAS过程,其proc语句中所包含的语句 选项也各不相同。

SAS讲义 第十七课使用列表报告PROC PRINT和汇总报告PROC TABULATE

SAS讲义 第十七课使用列表报告PROC PRINT和汇总报告PROC TABULATE

第十七课使用列表报告PROC PRINT和汇总报告PROC TABULATE 利用SAS系统提供的各种过程可以制作各种风格的报表。

一份好的输出报表可以使用户更直观、更清楚和更容易地了解和明白统计计算的结果,因此如何制作一个能充分揭示运算结果信息和满足要求的报告,也是非常重要的。

SAS系统提供的各种制作报表过程中,最常用的是以下两种:●列表报告PROC PRINT过程●汇总报告PROC TABULATE过程一.列表报告PROC PRINT过程所谓列表报告PROC PRINT过程,将输出SAS数据集中的数值,输出时把数据集中的每一个变量形成输出报表的列,而每一个观测形成输出报表的一行。

1PROC PRINT过程的主要功能PROC PRINT过程输出的数据列表具体地说主要能够做到以下几点:●变量的输出格式用户可以选择(Format语句)●可在输出报表中加上标题(Title)和脚注(Footnotes语句)●可输出数据集中变量的任何子集(Where语句)●可以控制变量是否出现以及出现的顺序(V ar语句)●用户可以自己定制列表头(Label语句)●可分组输出观测数据(By语句)●可计算所有观测值或分组观测值的总和(Sum/Sumby语句)及其它统计量●每页报表的宽度和长度以及每列的宽度都可控制(选项Width=)●当数据集中变量太多时,可分成几部分输出(选项Rows=)2PROC PRINT过程语句格式在PROC PRINT过程中,常常配合使用了许多其它SAS语句以达到所要求的输出报表格式,我们把在PROC PRINT过程中常用的一些语句的基本使用格式列出,具体使用时根据需要可能使用其中的几条语句。

如下所示:PROC PRINT<选项列表> ;V AR变量列表;ID变量列表;BY变量列表;PAGEBY变量;SUMBY 变量;SUM变量列表;TITLE n “标题内容”;FOOTNOTE n “标题内容”;LABEL变量1=“标签*内容”变量2=“标签*内容”……;FORMAT变量输出格式;WHERE条件表达式;……Run ;3PROC PRINT的选项PROC PRINT的选项列表包含许多选项,选项之间以空格分隔,选项没有先后次序。

《SAS基础教程》课件

《SAS基础教程》课件

SAS基础知识
数据步骤
介绍SAS中的数据步骤以 及如何筛选数据。
过程步骤
如何创建过程步骤,以及 对数据进行分析和处理。
打印输出
如何将结果打印出来,以 便对数据便于处理、分析、 提取关键信息。
SAS的优点
1
多功能
2
SAS对数据的操作能力比较强,处理
很多数据提取、分析应用都可以实现。
3
易于学习
与其他软件比较,SAS的课程知识比 较容易上手,适合初学者使用。
2 足球数据分析
使用SAS对足球比赛的数据进行分析,掌握足球比赛的胜率与数据模式,提高赌球的胜 算。
3 医学研究分析
使用SAS对临床数据进行整理,快速查找数据信息。
兼容性强
SAS不仅能识别自己软件出产的文件, 同时也可以识别其他公司软件出的文 件。
SAS的应用案例
医疗领域
SAS应用于医疗领域,对不同 人群的病例进行数据分析。
金融领域
SAS在金融领域应用广泛,对 股票交易进行分பைடு நூலகம்,优化投资 策略。
城市智能交通
SAS应用于城市智能交通系统, 对交通路况进行数据预测和管 理,提高交通效率。
探索SAS:基础知识到应 用实践
介绍SAS是什么,SAS的使用领域以及本课程将涵盖的内容。
什么是SAS
覆盖全球
SAS在全球 147 个国家提供服 务,应用于金融、卫生、教育 等诸多领域。
处理大数据
SAS对数据处理的处理能力可 以处理来自不同渠道的大量数 据。
多人协作
SAS系统允许并行处理,支持 多人协同工作。
结尾和总结
总结SAS的基础知识、优点及应用案例。
SAS Programming: 基础语法及实践

SASPROCPRINT常用选项和语句说明

SASPROCPRINT常用选项和语句说明

登录后才能查看或发表评论立即登录或者逛逛博客园首页
SASPROCPRINT常 用 选 项 和 语 句 说 明
常用选项 1、使用选项OBS=修改观测序号标签 2、使用NOOBS选项不显示观测序号列 3、使用ID语句在输出中取代观测序号列 4、使用VAR选择输出的变量 5、使用WHERE语句选择输出的观测 6、使用数据集选项FIRSTOBS=和使用OBS=来控制观测输出的区间
ቤተ መጻሕፍቲ ባይዱ制作增强型报表: 1、使用SUM语句对变量进行求和 2、使用SUM语句对变量进行分组汇总
改进报表显示: 1、添加标题(TITLE)和脚注(FOOTNOTE) 2、使用FORMAT语句规定输出格式 3、使用LABEL语句规则输出变量的标签(需要在PROC PRINT加上LABEL选项) 4、PROC PRINT 语句中使用选项SPLIT=指明分隔符 5、PROC PRINT 语句中使用BLANKLINE= 报表每一行后加空行;

第讲SAS软件使用简介

第讲SAS软件使用简介

35
不需编程的SAS应用 — SAS / INSIGHT
02.08.2021
西南科技大学生命科学与工程学院周海廷制作
第讲SAS软件使用简介
SAS 窗口指南
SAS 系统是被设计成能容易使用的,它为你所要完 成的所有基本 SAS 任务都提供了窗口。一旦熟悉了 你的SAS任务的起点,你就可以迅速地完成 SAS 系 统所能做的任何任务。
启动 SAS 系统后,你将看到五个主要窗口: Explorer, Results, Editor, Log, 和 Output 窗口。
西南科技大学生命科学与工程学院周海廷制作
11
查看文件的详细资料
3.可以通过拖动分隔线来改变列的大小;
02.08.2021
西南科技大学生命科学与工程学院周海廷制作
12
排列文件
默认情况下,Explorer 窗口中的文件是按文件名的字母顺 序排列的。你可以以升序或降序对任何列进行排序。
1. 点击 Type 列,则文件按类型排列;
02.08.2021
西南科技大学生命科学与工程学院周海廷制作
13
排列文件
2.再点击一次 Type 列,则按相反的方向排列;
3.选择 查看 刷新 来回到文件的原始排列。
Байду номын сангаас
02.08.2021
西南科技大学生命科学与工程学院周海廷制作
14
查看文件性质
在 Explorer 窗口中,你可以查看所有SAS文件的一般信息 以及它的 引擎/主机 信息。针对不同的文件类型,你 还可以查看不同的附加性质。
2.当你浏览完数据表中的数据后,选择 文件 关闭 来关闭 VIEWTABLE 窗口;
3.回到 Explorer 窗口的顶部。

SAS学习系列02.输出数据报表

SAS学习系列02.输出数据报表

02.输出数据报表利用SAS数据集,可以用PROC PRINT过程步根据需要输出各种满足一定条件的报表。

一、直接输出语法:proc print data = 数据集;run;注:此时(不加任何参数),默认(1)输出数据集中的所有观测值和变量;(2)报表最左侧增加一列观测值计数列“[Obs]列”;(3)报表中变量出现的顺序与数据集中位置相同。

(4)若要双倍行距输出报表,可以在数据集后面加上可选参数:“double”.例1输出路径'D:\我的文档\My SAS Files\9.3'下的SAS数据集therapy.代码:libname patients 'D:\我的文档\My SAS Files\9.3';proc print data=patients.therapy; /* 注意数据集前加上 data = 否则报错 */运行结果(部分):二、选择变量和输出顺序语法:proc print data = 数据集;var 变量1 变量2 …;run;注:(1)若不输出观测值计数列[Obs],需加上参数noobs;(2)若要指定某列或某几列代替“[Obs]列”,可用id 变量1 变量2 …注意:若一个变量既是var变量又是id变量,将输出两次。

例2(1)输出原始数据集sasuser.admit(2)只输出变量age height weight fee代码:run;proc print data=sasuser.admit;var Age Height Weight Fee;id ID Name;run;运行结果(部分):三、选择部分观测值语法:proc print data = 数据集;where 条件语句run;表示选择满足某条件的观测值。

注意,where语句可以指定数据集中任何变量,而不受var语句的限制。

条件语句可以由各种SAS算符和括号组合而成,为此下面介绍一点SAS中的比较、逻辑算符:例3输出数据集Sasuser.admit中满足条件Age>30并且Height>65的观测值,只输出变量Age Height Weight Fee.代码:var Age Height Weight Fee;where Age>30 and Height>65;run;运行结果(部分):四、对数据进行排序语法:proc sort data=数据集out=新数据集;by <descending > 变量1 变量2 …;run;注:(1)省略“out=新数据集”,原数据集将被排好序的数据集替换;(2)“<descending >”为可选参数(递减排序),只对紧随其后变量起作用;默认是递增排序;(3)先按变量1排序,变量1相同,再按变量2排序…(4)缺省值,当成最小的值。

PROCprint

PROCprint

一、主要作用PROC PRINT在我们的SAS程序中可说是最常用的一个程序。

PROC PRINT的主要作用是:将我们所指定的资料集其全部或部份变量的资料内容打印出来。

即我们可以藉由PROC PRINT程序,将SAS资料集中的内容,全部或部份打印出来。

而在执行PROC PRINT程序时,此程序会在每一笔资料的最左侧加一"OBS"栏,其目的是为了显示其笔数的位置所在,可以让我们知道哪一笔资料是在资料集中的何处。

二、PROC PRINT的基本格式PROC PRINT程序之格式如下:以上是PROC PRINT程序中我们比较常用的一些叙述句,接下来我们使用一个例子来说明上述格式的使用方法。

三、范例我们使用PROC FREQ之中的实际例子:观察者(OBS)性别(GENDER)年龄(AGE)教育程度(DEGREE)任教时间(EXP)研讨会参加次数(FREQ)1 2 30 1 7 02 2 43 1 19 0………………119 2 43 1 10 0 性别:”1”表示男性、”2”表示女性教育程度:“1”表示大学毕业、“2”表示正就读于研究所、“3”表示国外硕士毕业、“4”表示国内硕士毕业、“5”表示正就读于博士班、“6”表示国外博士毕业、“7”表示国内博士毕业、“8”表示其它。

而我们使用的程序如下:PROC FORMAT;VALUE GENDERFMT 1='Male' 2='Female';VALUE AGEFMT 1-25='25 and below' 26-30='26-30' 31-35='31-35' 36-40='36-40'41-45='41-45' 46-50='46-50' 51-55='51-55' 56-60='56-60'OTHER='60 and above';VALUE DEGREEFMT 1='BA' 2='Working on MB' 3='Oversea MB' 4='Local MB'5='Working on PH.D' 6='Oversea PH.D' 7='Local PH.D' 8='Otherwise';VALUE EXPFMT 0-5='0-5' 6-10='6-10' 11-15='11-15' 16-20='16-20'21-25='21-25' 26-30='26-30' 31-35='31-35';VALUE FREQFMT 0='0' 1-2='1-2' 3-4='3-4' 5-6='5-6' 7-8='7-8';DATA A1;INFILE 'CONTEST.TXT';INPUT NUM GENDER AGE DEGREE EXP FREQ;RUN;PROC PRINT DATA=A1;RUN;PROC PRINT DATA=A1;VAR GENDER DEGREE EXP;RUN;PROC PRINT DATA=A1;ID GENDER DEGREE EXP;RUN;PROC SORT DATA=A1;BY GENDER;PROC PRINT;BY GENDER;RUN;PROC FORMAT 中 VALUE GENDERFMT 这行定义GENDER这个变量的值为male 或 female 当读进来的值为1或 2时,其余 VALUE 指令类推。

SAS使用技巧范文

SAS使用技巧范文

SAS使用技巧范文SAS(统计分析系统)是一种常用于统计分析和数据处理的软件工具。

它具有强大的数据管理和分析功能,可以用于处理大规模数据,进行统计建模和预测。

下面是一些SAS使用的技巧,可以帮助您更高效地使用这个软件。

1.数据导入和导出在SAS中,可以使用“数据步骤”(data step)或“导入向导”(import wizard)将数据导入到SAS系统中。

对于非常大的数据集,可以使用“数据步骤”的输入语句来减少内存的使用。

另外,SAS也支持各种数据格式的导入和导出,如CSV、Excel、SPSS等。

2.数据清洗和转换在进行数据分析之前,通常需要先对数据进行清洗和转换。

SAS提供了一系列的数据转换函数和过程,可以通过数据步骤或SAS语句来处理数据。

比如,可以使用“keep”语句来选择感兴趣的变量,使用“drop”语句来删除不需要的变量,使用“rename”语句来重命名变量。

3.数据合并和拆分有时候需要将多个数据集合并在一起,或将一个数据集拆分成多个部分进行分析。

SAS提供了“merge”和“append”过程来合并数据集,可以根据一个或多个共同变量来进行合并。

另外,可以使用“split”和“sample”过程来将一个数据集拆分成多个部分。

4.数据查询和筛选在进行数据分析时,需要根据一定的条件对数据进行查询和筛选。

SAS提供了类似于SQL的语句来完成这些任务。

可以使用“where”子句来筛选数据,使用“subset”函数来选择一部分数据。

另外,还可以使用“proc sql”过程来执行更复杂的查询操作。

5.数据汇总和计算在进行数据分析时,通常需要对数据进行汇总和计算。

SAS提供了一些过程和函数来完成这些任务。

可以使用“proc means”过程来计算变量的均值、标准差等统计量,使用“proc freq”过程来计算变量的频率分布,使用“proc summary”过程来进行更复杂的汇总操作。

6.数据图形化图形化是数据分析的重要环节,可以帮助我们更好地理解数据和发现规律。

sas打印后10条记录

sas打印后10条记录

sas打印后10条记录的方法
在SAS中打印数据集的后10条记录,可以采用以下方法:
1. 使用OBS选项:通过在`PROC PRINT`语句中使用`OBS`选项,可以指定要打印的观测值的范围。

例如,要打印最后10个观测值,可以使用`OBS=n-9`,其中`n`是数据集中观测值的总数。

如果不知道观测值的总数,可以先用`proc sql`计算出总数,然后再执行打印过程。

2. 使用WHERE选项:在`PROC PRINT`语句中使用`WHERE`选项来筛选出最后10个观测值。

这需要先计算出数据集中观测值的总数,然后使用`WHERE`语句来筛选出最后10个观测值。

3. 倒序排列:可以先将数据集倒序排列,然后使用`OBS=10`来打印前10个观测值,这些将是原始数据集的后10个观测值。

这可以通过`PROC SORT`实现,然后使用`PROC PRINT`打印。

总的来说,您可以根据具体情况选择适合的方法来实现打印后10条记录的需求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十七课使用列表报告PROC PRINT和汇总报告PROC TABULATE 利用SAS系统提供的各种过程可以制作各种风格的报表。

一份好的输出报表可以使用户更直观、更清楚和更容易地了解和明白统计计算的结果,因此如何制作一个能充分揭示运算结果信息和满足要求的报告,也是非常重要的。

SAS系统提供的各种制作报表过程中,最常用的是以下两种:●列表报告PROC PRINT过程●汇总报告PROC TABULATE过程一.列表报告PROC PRINT过程所谓列表报告PROC PRINT过程,将输出SAS数据集中的数值,输出时把数据集中的每一个变量形成输出报表的列,而每一个观测形成输出报表的一行。

1PROC PRINT过程的主要功能PROC PRINT过程输出的数据列表具体地说主要能够做到以下几点:●变量的输出格式用户可以选择(Format语句)●可在输出报表中加上标题(Title)和脚注(Footnotes语句)●可输出数据集中变量的任何子集(Where语句)●可以控制变量是否出现以及出现的顺序(V ar语句)●用户可以自己定制列表头(Label语句)●可分组输出观测数据(By语句)●可计算所有观测值或分组观测值的总和(Sum/Sumby语句)及其它统计量●每页报表的宽度和长度以及每列的宽度都可控制(选项Width=)●当数据集中变量太多时,可分成几部分输出(选项Rows=)2PROC PRINT过程语句格式在PROC PRINT过程中,常常配合使用了许多其它SAS语句以达到所要求的输出报表格式,我们把在PROC PRINT过程中常用的一些语句的基本使用格式列出,具体使用时根据需要可能使用其中的几条语句。

如下所示:PROC PRINT<选项列表> ;V AR变量列表;ID变量列表;BY变量列表;PAGEBY变量;SUMBY 变量;SUM变量列表;TITLE n “标题内容”;FOOTNOTE n “标题内容”;LABEL变量1=“标签*内容”变量2=“标签*内容”……;FORMAT变量输出格式;WHERE条件表达式;……Run ;3PROC PRINT的选项PROC PRINT的选项列表包含许多选项,选项之间以空格分隔,选项没有先后次序。

我们下面列出一些主要选项:●DATA=数据集名——给出要打印输出的SAS数据集。

如果省略,则为最近建立的SAS数据集。

●N——要求在输出这个数据集的数据列表之后,同时输出观测的总输出条数。

如果使用了BY分组语句,在每一个分组后输出各个分组输出观测的条数。

●LABEL或L——使用变量的标签作为输出数据列表中每列的抬头。

如果变量没有定义标签,则用变量名作为列抬头。

●SPLIT或S=’分隔符’——规定一个字符(如*号或#号)用于将较长的标签分隔成几行。

在这个选项里定义了某个分隔符以后,过程中的LABEL语句里就可以使用这个分隔符了。

另外选项SPLIT=和LABEL不必同时使用。

●NOOBS——不输出观测数据的序号。

当不用ID语句且又不要输出观测的序号时,可使用该选项。

●DOUBLE或D——要求输出隔行打印。

●ROUND或R——对用FORMAT语句规定变量的输出格式中的小数点位进行四舍五入。

●HEADING=H或V——规定打印列抬头的方向。

H或HORIZONTAL表示所有列抬头水平打印,V或VERTICAL表示所有列抬头垂直打印。

●WIDTH=FULL或MIN或U或UBY——规定使用什么作为列宽。

FULL表示使用变量格式化宽度,MIN或MINIMUM表示使用可能的最小列宽,U或UNIFORM表示对所有页一致地使用变量格式化宽度,UBY或UNIFORMBY表示在BY组内对所有页一致地使用变量格式化宽度。

●ROWS=PAGE——当数据集包含很多变量和观测时,使用此选项将在每一页中打印尽可能多的观测,能减少输出页数。

V AR语句、ID语句和BY语句我们前面已经说明过了,这里不再重复。

PAGEBY语句要求和BY语句一起使用,当PAGEBY变量的值改变或者在BY语句中列在PAGEBY变量前的BY变量值改变时,PRINT过程将从新的一页开始输出。

SUM语句规定计算总和的变量,SUM语句中规定的变量可以没有列在V AR语句中,PRINT过程将自动把SUM语句中规定的变量加到V AR变量列表中。

SUMBY语句必须和BY语句连用,用来对一部分BY组中指定的变量求和。

每当SUMBY 变量的值变化或者BY语句中列在SUMBY变量前的变量值改变时,PRINT将把对应BY组中的SUM语句中的变量求和。

如果没有规定SUM语句,则将对数据集中BY变量以外的所有数值变量求和。

SUMBY语句的本质是通过指定BY变量列表中变量位置而限制BY组中SUM变量求和。

4举例例如,我们要输出SURVEY数据集的报表。

报表之一的要求是:选择输出身高小于1.75米的观测,同时给出满足条件的总输出条数,自定义要显示的变量和顺序,不显示观测的序号,求和INCOME变量的值,修改BDA TE变量和INCOME变量输出格式,且修改它们的列标题并分两行显示,加两个标题和一个脚注。

程序如下:LIBNAME STUDY “D:\SASDA TA\MYDIR”;PROC PRINT data=study.survey noobs n split='*' round width=min ;V AR name sex income bdate heigh weight ;SUM income ;TITLE1“PROCEDURE PRINT”;TITLE2“Dept.of Information System”;FOOTNOTE1“SHANGHAI UNIVERSITY OF FINANCE AND ECONOMICS”;LABEL Bdate="Date of*Brithday" Income="Total*Income";FORMAT Bdate DATE7. Income dollar12.2 ;WHERE heigh<=1.75 ;Run ;程序运行结果见图17-1所示。

图17-1 用PROC PRINT过程输出的SURVEY数据集报表之一脚注显示在一页的最下方,通常一页的长度要大于窗口的长度,所以有时正文和脚注的内容并不一定能同时显示在OUTPUT窗口中。

我们可以用Globals/Options/Global options命令,调出Options对话单,修改页尺寸PAGESIZE参数为17行,然后选择Options/Save settings now 命令保存当前的设置。

报表之二的要求是:修改报表一,按SEX变量中的值M和F进行分组求和(用BY语句),同时将分组值M和F列在分组报告的最左边(用ID语句)。

要分组求和,指定数据集中的分组变量值必须事先已经按升序排序好了,如果没有排序过,常常先用SORT过程对分组变量进行排序。

去掉脚注。

程序如下:LIBNAME STUDY “D:\SASDA TA\MYDIR”;PROC SORT Data=study.survey out=study.bysex ;By sex ;PROC PRINT data=study.bysex noobs n split='*' round width=min;V AR name income bdate heigh weight ;ID sex ;BY sex ;SUM income;TITLE1“PROCEDURE PRINT”;TITLE2“Dept.of Information System”;FOOTNOTE1;LABEL Bdate="Date of*Brithday" Income="Total*Income";FORMAT Bdate DA TE7. Income dollar12.2 ;WHERE heigh<=1.75 ;Run ;程序运行结果见图17-2所示:图17-2 用PROC PRINT过程输出的分组求和报表之二在使用了TITLE和FOOTNOTE语句后,所定义的标题和脚注将一直保持有效,直到另一个TITILE或FOOTNOTE语句被执行。

我们在程序中用不带任何内容的FOOTNOTE1语句替代原先同样号码的脚注,实际上它能取消拥有更大号码的脚注。

二.汇总报告PROC TABULATE过程当一个SAS数据集包含不太多的数据时,列表报告可以很好地描述数据,但是当数据集包含大量信息时,就需要使用汇总报告了。

PROC TABULATE用分类报表的形式输出满足用户要求的描述性统计量。

每一个表单元属于用交叉变量名组成的特殊观测类。

与每一个单元有关的统计量是由该类所有观测值计算得到的。

在通常情况下,产生汇总报表要先将数据根据需要进行分类,然后在分类的基础上计算一些统计量。

1PROC TABULATE过程的三要素一个最简单的PROC TABULATE过程必须定义下列三要素:●类变量——可以是数值型变量或字符型变量。

分类的目的是为了在每一个类上进行计算和分析。

●分析变量——一定是数值型变量。

可以计算的一些统计量如:频数(frequency)、均值(mean)、标准差(standard deviation)、最小值(minimum)、最大值(maximum)、极差(range)、总和(sum)、百分数(percentages)等。

●表的结构和格式——最多可以定义三个维度:第一维定义列,第二维定义行,第三维定义页。

并且可以通过TABLE语句中的表达式计算统计量,用操作符,如:逗号、空格、星号、圆括号等,来组织单元集合。

另外还能格式化单元中的数据值和产生用户化的行标题和列标题。

2PROC TABULATE语句格式在PROC TABULATE过程中,常常使用一些控制汇总报表产生的语句,一般过程形式如下:PROC TABULATE<选项列表> ;CLASS分类变量列表;V AR分析变量列表;TABLE <<页表达式,>行表达式,>列表达式</表选项> ;LABEL变量1=“标签*内容”变量2=“标签*内容”……;KEYLABEL统计量名字1=“标记1”统计量名字2=“标记2”……;FORMAT变量输出格式;WHERE条件表达式;……Run ;PROC TABULATE语句总是伴随着至少一个TABLE语句来规定如何制表。

用在TABLE 语句的分类变量必须用CLASS语句说明。

用在TABLE语句的分析变量必须用V AR语句说明。

同时出现在CLASS语句和V AR语句中的变量,只能作为分类变量使用。

相关文档
最新文档