《统计分析与SAS软件》教程知识讲解.doc
Good is good, but better carries it.精益求精,善益求善。统计分析与SAS软件教程-统计分析与SAS软件上机实习手册邱健德于向鸿著中国农业科学院·研究生院版权所有©2011.3修订版前言SAS(StatisticAnalysisSystem)软件系统是大型集成软件系统,具有完备的访问、管理、分析、呈现和应用开发功能。是世界公认的优秀统计分析软件之一。SAS软件系统于1966年由美国北卡罗来纳(NorthCarolina)州立大学研制成功,1976年成立美国SAS软件研究所公司,并开始对SAS系统进行维护、开发、销售和培训。1985年推出了SAS/PC(6.02)版本。1989年推出了SAS/PC(6.04)版本。1997年推出了SAS/PC(6.12)版本。1997年美国SAS软件研究所公司正式宣布成立大中国区,1999年成立赛仕软件上海有限公司,2000年2月推出了SAS/PC(8.0)版本,2002年SAS/PC(9.0)版本。美国SAS软件研究所公司已发展为全球十大软件开发商。SAS系统已经在六大洲120个国家中使用,全球100家最大的公司中的97家都在应用SAS,SAS系统在世界范围内被广泛地应用于金融、电信、政府、制造、能源、交通、科研、教育、医学和商业等不同领域,并发挥着积极的作用。SAS系统已经成为国际上的标准软件系统。1978年引入我国。北京大学概率论系把它当作重点开发项目,其它许多国家都引进应用。经过二十多年的应用、改进,SAS不断完善。目前,国际上发表的论文,复杂的计算都要经SAS软件验证才可以发表,所以,农业科学工作者很有必要掌握这个工具。特别是随着计算机技术的飞速发展,数理统计、计算机深入到各个学科,同各个学科相结合,产生了许多新的边缘学科,这些边缘学科成为了各个学科的生长点,因此,不懂数理统计,不懂计算机,在专业研究上就寸步难行,变得别人写的论文看不懂,自己写的论文缺乏先进性。因此,农业科学工作者,特别是研究生应该掌握这个工具。SAS是农业研究的一个强有力的辅助工具,它几乎囊括了社会调查和农业研究数据处理的所有方法,如显著性测验、方差分析、协方差分析、多元方差分析、相关分析、回归分析、主成分分析、因子分析、聚类分析、判别分析、通经分析等。这些方法比较复杂,计算量非常庞大,但使用SAS系统,瞬息之间就可以完成。国家教委把开设SAS课程作为面向21世纪提高研究生教学质量的一项措施。为了提高学生的素质,自1997年以来,我院开设了这门课程,收到了很好的效果。实践证明:农业科研人员一旦掌握这一工具,就能提高农业试验数据统计分析的效率、质量和水平。限于水平与经验,书中缺点、错误在所难免,敬祈指正。编者2010.9目录第一章SAS系统操作导引1§1.1SAS的构成及功能1§1.2SAS的启动及使用2§1.3SAS系统的数据库操作5本章作业8第二章试验数据的初步整理10§2.1计算基本统计量11§2.2统计图表的制作11§2.3正态分布检验15本章作业18第三章假设检验19§3.1可量资料样本与总体平均数的显著性检验一19§3.2可量资料样本与总体平均数的显著性检验二20§3.3成组法t检验21§3.4配对法t检验22§3.5可量资料两样本方差整齐性检验23§3.6可量资料样本与总体的方差整齐性检验24§3.7可数资料样本与总体百分数的检验25§3.8可数资料两样本的百分数检验26§3.92×2联列表式卡平方检验27§3.102×J联列表式卡平方检验28§3.11R×C联列表式卡平方检验30§3.12ab比例适合性检验32§3.13abc比例适合性检验32§3.14abcd比例适合性检验33本章作业34第四章相关分析37§4.1相关散点图的绘制37§4.2简单相关38§4.3多个变量间的简单相关39§4.4一级偏(净)相关41§4.5二级偏(净)相关42§4.6最高级偏(净)相关43§4.7等级相关44本章作业45第五章线性回归分析48§5.1一元线性回归48§5.2二元线性回归49§5.3多元线性回归(全回归)50§5.4多元线性回归(向前回归)52§5.5多元线性回归(向后回归)53§5.6多元线性回归(逐步回归)55§5.7回归诊断57本章作业60第六章非线性回归分析62§6.1可转化为直线的曲线62§6.2二次抛物线65§6.3多项式回归69§6.4非线性回归72§6.5二次响应面分析(回归正交组合设计)74§6.6二次响应面分析(Box-Behnken设计)78§6.7二次响应面分析(中心组合设计)82§6.8逻辑斯蒂回归86本章作业91第七章方差分析92§7.1单方面分类的方差分析92§7.2双方面分类的方差分析94§7.3三方面分类的方差分析96§7.42×3复因子试验的统计分析98§7.52×2×2复因子试验的统计分析102§7.6正交设计的方差分析106§7.7嵌套设计的方差分析109§7.8裂区设计的方差分析112§7.9数据的统计代换114本章作业119第八章协方差分析121§8.1单方面分类的协方差分析121§8.2双方面分类的协方差分析123本章作业128第九章主成分分析130§9.1主成分分析130§9.2主成分得分133§9.3主成分聚类134本章作业136第十章因子分析138§10.1因子分析(因子得分)139§10.2因子轴正交旋转144§10.3因子轴斜交旋转146本章作业150第十一章聚类分析152§11.1最短距离法152§11.2最长距离法155§11.3中间距离法156§11.4类平均数法158§11.5重心法160§11.6离差平方和法161§11.7距离数据的聚类163§11.8动态聚类165§11.9变量聚类166本章作业168第十二章判别分析170§12.1距离判别分析170§12.2贝叶斯判别分析174§12.3逐步判别分析176本章作业180第十三章典型相关分析182§13.1典型相关分析182§13.2典型变量得分186本章作业190-第一章SAS系统操作导引SAS(StatisticalAnalysisSystem,统计分析系统)是当今国际上最著名的统计分析软件之一,最早由北卡罗来纳大学的两位生物统计学教授开发,并于1976年成立了SAS软件研究所,正式推出了SAS软件,统计分析功能是它的重要组成部分和核心功能,至今,SAS系统的功能已经逐渐扩展成为一个大型的集成应用软件系统。广泛应用于金融、运输、通信、教育、科研和医药卫生等领域,完成统计、图表分析、时间序列分析、运筹决策、风险分析和数据挖掘等工作,现在已被全球100多个国家和地区所采用。SAS软件系统的SAS6.12及其以后的SAS8和SAS9等版本,包括各版本的标准版、校园版和学习版。本教材以SAS8标准版为基准讲述SAS系统的应用,对于其它的版本,使用起来也大同小异。§1.1SAS的构成及功能一、SAS的构成SAS系统是一个由五十多个专用模块组成的大型集成式软件包,比较常用的有BASESAS、SASACCESS、SAS/ASSIST、SASGRAPH、SASINSIGHT、SASSTAT等十多个模块,但对于一般的试验数据的统计分析已经是足够的了。下面重点介绍几个主要模块的功能。、BASESAS是SAS的核心模块,负责数据管理、交互应用环境管理和进行用户语言处理,其它各模块均必需在BASESAS提供的环境中运行。、SASACCESS提供了与目前许多流行数据库软件的接口,从而可以实现对众多不同格式的数据进行查询、访问和分析。、SASSTAT这一模块提供完整的统计分析功能,几乎囊括了社会调查和农业研究数据处理的所有方法,如样本均数差异显著性测验、方差分析、相关分析、典型相关分析、回归分析、协方差分析、多元方差分析、主成分分析、因子分析、聚类分析、判别分析、通经分析等。、SASASSIST提供面向任务的菜单驱动界面,借助它可以通过菜单系统来使用SAS。它自动生成的SAS程序可帮助用户学习SAS语言。、SASGRAPH是强有力的图形软件包,可将数据及其包含的深层信息以多种图形生动地呈现出来,如直方图、饼形图、星形图、散点相关图、曲线图、三维曲面图、等高线图以及地图等等。、SASINSIGHT是一个可视化的数据探索工具。它将统计方法与交互式图形显示融合在一起,为用户提供一种全新的使用统计分析方法的环境。二、SAS的主要功能、数据访问、数据存储及管理、图形处理、统计分析、报告呈现§1.2SAS的启动及使用一、启动如果已经正确安装了SAS系统,则安装程序会在操作系统开始菜单的列表中添加一个“TheSASSystem”的项目组,这时可以按照下列步骤启动SAS系统。开始程序TheSASSystemTheSASSystemforWindowsV8注意:在安装时要看清你使用的SAS软件许可证(licence)的有效日期,必须把系统日期设置在有效日期之内,否则SAS系统不能正常运行。二、应用工作空间(1)SAS系统常用的窗口SAS系统窗口1.ProgramEditor-程序编辑窗口是用户编辑、存贮、调入SAS源程序文件,提交SAS程序给SAS系统执行的窗口。2.Log-日志窗口是SAS系统的运行记录。如:执行SAS程序不正确,则可以在此窗口查找系统运行记录,找出错在什么地方。然后,回到编程窗口,修改好程序后再继续试运行。3.Output-结果输出窗口用于存放SAS过程对数据进行分析、处理后的文字描述结果,输出结果可以另存为Word文档(*.rtf)。输出窗口中输出内容的行宽可以调节,ToolsOptionsSystem的选项中,打开LogandPrecedureOutputContralSASLogandPrecedureOutput,双击Linesize选项修改其Value为需要的宽度值,单位为(英文)字符,修改设定只对本次SAS应用有效。4.Graph-图形输出窗口用于存放SAS过程对数据进行分析、处理后的图形描述结果。5.Explorer-浏览窗口浏览和管理SAS数据库和SAS数据集。6.Results-结果窗口当用户执行了编程或菜单模式的SAS统计分析时,所有的分析结果都会以超文本语言出现在这个窗口。(2)在应用工作空间顶部有菜单条:FileEditViewToolsRunSolutions(Globals)WindowHelp1、File(文件管理菜单):New-建立一个新的SAS程序文件Open-打开一个原有的SAS文件Save-保存当前文件Saveas-另存当前文件ImportData-导入其它外部数据文件ExportData-导出为其它外部数据文件Print-打印Exit-退出SAS系统2、Edit(编辑菜单):Undo-撤削上一次编辑命令Redo-重做上一次编辑命令Deselect-删除Cut-剪切Copy-复制Paste-粘贴Clear-清除选中的内容ClearAll-清除窗口中的所有内容Selectall-选择窗口中的所有内容Find-查找字符串Replace-替换字符串3、View(视窗菜单):EnhancedEditor-增强的程序编辑窗口ProgramEditor-程序编辑窗口Log-日志窗口Output-结果输出窗口Graph-图形输出窗口Results-执行结果窗口Explorer-浏览窗口ContentsOnly-仅显示内容MyFavoriteFolders-个人收藏夹4、Tools(工具菜单):Query-查询。TableEditor-表格编辑器GraphicEditor-图形编辑器ReportEditor-报表编辑器ImageEditor-图像编辑器TextEditor-文本编辑器Customize-用户自定义Options-系统设置选项、Run(运行菜单)Submit-提交(已编好的程序)运行SubmitTopline-从顶行起提交执行SubmitClipboard-提交存放在剪贴板上的程序Signon-用于连接远程主机RemoteSubmit-向远程主机提交并执行RemoteDisplay-向远程主机提交并显示Signoff-断开远程主机连接6、Solutions(解决方案,注意:低版本为Globals)Analysis-统计分析总菜单,其中:InteractiveDataAnalysis进入交互数据分析界面Analyst(StatisticsAnalysis)进入分析员分析界面,进行各种统计分析DevelopmentandProgramming-系统开发与程序设计Reporting-报表Accessories-进入附件ASSIST-进入面向任务的菜单驱动界面Desktop-进入桌面EIS/OLAPApplicationBuilder-高级信息系统/在线分析处理应用构建器7、Windows(窗口管理菜单):Minimizeallwindows-把所有的窗口最小化Cascade-层叠显示各个窗口TileVertically-垂直平铺显示各个窗口TileHorizontally-水平平铺显示各个窗口Resize-恢复SAS系统缺省的窗口大小及位置设置Docket-记事表8、Help(帮助菜单):SASSystemHelp-SAS系统帮助UsingThisWindow-应用当前窗口的帮助BooksandTraining-书本与训练GettingSrartedwithSASSoftware-用SAS软件获得入门学习SASontheWeb-网上的SAS帮助AboutSASSystem-显示SAS的版本说明(3)常用快捷键:一些常用的快捷执行命令键,如:F1-helpF2-reshowF3-end;submitF4-recallF5-programeditorF6-logF7-outputF8-zoomoff;submitF9-keys§1.3SAS系统的数据库操作试用下面的数据建立SAS数据库并进行下述各种库操作练习:实例:玉米品种产量比较试验,参试品种十个,采用随机区组设计,设三个重复区组,各小区产量如下:(公斤)品种区组ABCDEFGHIJ500480520540560500480600670400450451453485510450430550520350480462480510525473450580560360注:“”表示进行下一步的操作。A、建立一个新的数据集:(点菜单)Solutions(解决方案)Analysis(分析菜单)InteractiveDataAnalysis(交互数据分析菜单)New点数据表左上角三角,弹出菜单NewVariables(定义变量菜单)确定变量的个数(本例有3个变量:区组、品种和产量)确定每个变量的类型(有数值型和字符型,本例的区组、品种为字符型;产量为数值型)和测量水平(有区间型和名义两种,本例的区组、品种为名义型;产量为区间型)确定每个变量的名字(只能用字母、数字和下划线,本例的区组用block、品种用var、产量用yield)和标签(可用中文:区组、品种、产量)确定观测的个数(本例为30个)输入数据file(文件管理菜单)Save(保存)Data(数据型文件)确定数据库名(本例为sasuser)输入数据集名(本例为yumi)。B、打开数据库:(点菜单)Solutions(解决方案)Analysis(分析菜单)InteractiveDataAnalysis(交互数据分析菜单)选择一个数据库(Library本例为sasuser)选择一个数据集(Dataset本例为yumi)Open(打开该集)或者Solutions(解决方案)Analysis(分析菜单)Analyst(分析员分析菜单)File(文件管理菜单)OpenbySASname(打开一个SAS系统的数据库(sasuser)选择一个数据集(Dataset本例为yumi)Open(打开该集)。C、改变变量显示的顺序:(点菜单)Solutions(解决方案)Analysis(分析菜单)InteractiveDataAnalysis(交互数据分析菜单)选择一个数据库(Library本例为sasuser)选择一个数据集(Dataset本例为yumi)Open(打开该集)点数据表左上方的三角利用MovetoFirst(Last)来使变量(本例为var)移动最前(最后)端OK。D、对数据的排序:(点菜单)Solutions(解决方案)Analysis(分析菜单)InteractiveDataAnalysis(交互数据分析菜单)选择一个数据库(Library本例为sasuser)选择一个数据集(Dataset本例为yumi)Open(打开该集)点数据表左上方的三角在出现的菜单中点sort选定用作排序的关键变量(可多选)点选到Y框点选Y中的变量(本例为yield)点Asc/Des选项可以对变量按升序/降序排列OK。E、创建数据集的子集:(点菜单)Solutions(解决方案)Analysis(分析菜单)Analyst(分析员分析菜单)FileOpenbySASname(打开一个SAS系统的数据库(本例为sashelp)选择一个数据集(Dataset本例为class)Open(打开该集)点菜单条中的Data(数据处理菜单)Filter(过滤)SubsetData(创建数据集的子集)在Subset菜单左上方的可用列(Availablecolumns)中选择需要的列本例为sex在where框中出现选中的变量在运算符(operators)框中选一个运算符(本例为EQ等于)在可用列框中选lookupdistinctvalues在弹出的找值框(lookupvalues)中选择某种类型OK点File菜单中的SaveasbySASName可以另存为一个新的数据子集。F、由数据集随机采样:(点菜单)Solutions(解决方案)Analysis(分析菜单)Analyst(分析员分析菜单)FileOpenbySASname(打开一个SAS系统的数据库(本例为sashelp)选择一个数据集(Dataset本例为class)Open(打开该集)点菜单条中的Data(数据处理菜单)Randomsample(随机采样)确定样本的容量在字段Row后填入所需样本容量或在Ratio字段后填入取样的比例(本例为25%)回车在seed字段后填一个任意的正整数(缺省为0,将使每一次取样可能有不同的结果)点File菜单中的SaveasbySASName可以另存为一个新的子数据集。G、数据集的转置:(点菜单)Solutions(解决方案)Analysis(分析菜单)Analyst(分析员分析菜单)FileOpenbySASname打开一个SAS系统的数据库(本例为sasuser)选择一个数据集(Dataset本例为yumi)Open(打开该集)点菜单条中的Data(数据处理菜单)Transpose(数据集的转置)在左边的可使用列选中要转置的变量(本例为block、var、yield)点击Transpose,移至右侧的选项框中OK(系统自动生成一个转置的数据集,也自动增加一个变量存放原数据集中的变量名)点File菜单中的SaveasbySASName可以另存为一个新的子数据集。H、将外部数据文件导入SAS数据集:(点菜单)注意:导入数据之前,文本文件和Excel文件一定要关闭。数据导入之后,如果需要,可以用交互数据分析打开、编辑、修改变量的名称和数据类型,然后保存数据集。1.点File菜单ImportData打开数据导入向导StandardDataSource可以导入以下类型的的标准数据源:(1)MicrosoftExcel97or2000(*.xls)(注:Excel2003表则必须指定变量名)(2)MicrosoftAccess97or2000Table(*.mdb)(3)dBaseFile(*.dbf)dBase或Foxpro数据库(4)CommaSepratedValules(*.csv)逗号分割的文本文件(5)TableDelimitedFile(*.txt)制表符分割的文本文件(6)DelimitedFile(*.*)空格、制表符或自定义字符的文本文件2.对于SAS学习版(V6.12)的数据导入:(1)文本文件:数据采集文件快速转换输入文本数据源第一行(是否)作为字段名从第几行读入数据字段间用分隔符输入SAS数据库名输入SAS数据集名下一页确定。(2)Excel文件:数据采集Excel文件转换选择Excel文件(从)选择要转换的数据表输入SAS数据库名输入SAS数据集名第一行(是否)作为字段名从第几行读入数据确定。I、用编程法将数据存人SAS糸统实例1:通过编程把100株果树的产量(公斤)数据,保存到SAS系统的数据库(sasuser)中,该数据库的名字指定为“sasuser.fruit”。其中sasuser为数据库名,对应着SAS系统的目录名,fruit为用户指定的数据集名,对应着一个数据文件。在编程窗口中,运行该程序,数据便会自动保存到“sasuser.fruit”数据集中。Datasasuser.fruit;Inputyield;Cards;77784485428051626010563958575107627963107109927265865591778281102955478795737105638368797175738573597591114383778104914061737766733930131133689253388543113636985638296837412152812672587776567853751115094634110410453;Run;J、SAS系统调用数据(以计算基本统计量的过程means为例)1. 在程序中直接使用(内嵌数据)Datafruit;Inputyield;Cards;777844854280516260105上例数据(略)53751115094634110410453;ProcMeans;Varyield;2. Run;使用SAS数据集ProcMeansdata=sasuser.fruit;Varyield;3. Run;使用外部文本数据文件(需要指定其物理存储路径)Datasasuser.fruit;Infilec:Fruit.txt;Inputyield;ProcMeans;/*(示例:求均值等基本统计量过程)*/Varyield;Run;本章作业.某种作物黄叶病发生率与叶片中氮、磷、钾、钙、镁的含量以及钾镁比的关系的研究。研究结果存储在文本文件Disease.txt中,按氮、磷、钾、钙、镁、钾镁比、黄叶病发生率的顺序排列,试把纯文本Disease.txt导入到SAS系统的数据库sasuser中,该数据集的名字指定为:Disease,文本文件Disease.txt的数据如下:NPKCaMgK_MgDisease3.560.1971.630.720.305.378.82.500.1461.481.010.344.3711.03.370.2001.690.9560.3584.7250.72.930.1951.430.950.3244.4247.72.740.1550.9640.990.4562.1102.730.2320.921.310.452.0403.090.1831.060.9320.224.80402.730.1630.9421.3740.3352.3103.090.1591.210.6370.2145.6457.82.930.1600.961.270.362.6702.640.1561.260.6830.2125.9471.62.860.1491.430.7320.2775.164.83.070.1491.100.8190.1606.48503.550.2431.360.840.4393.1403.490.2831.000.800.3153.1702.730.2891.361.320.2824.8220练习2有一个多指标的不同品种水稻的比较试验,采用随机区组设计的试验,下面数据第一列是区组变量(Block);第二列是品种变量(Rice);第三列是指标变量(index1);第四列是指标变量(index2);第五列是指标变量(index3)。试把文本文件rz7.txt导入到SAS系统的数据库sasuser中,并要求该数据库的名字为rz7。文本文件rz7.txt的数据如下:1185503121835333316535184176412651805030619161417184543481906040129769412290604032100725042956545521037359621067056729969428294644413895937239169413383503043956541531007955631027252731057558831108960第二章试验数据的初步整理本章统计英语词汇注释:NObs(Oservations)观察值个数(含缺失值)N不含缺失值的观察值个数Nmiss(MissingValues)缺失的观察值个数Variable变量SimpleStatistics简单的统计量MeanOfSample样本平均数StdDev(StandardDeviation)样本标准差Error误差StdErr(SampleStandardError)样本平均数标准差(标准误)Sum总和V(Variance)方差CV(VariableCoefficient)变异系数Range极差Uss(UncorrectSumOfSquare)未修正偏差平方和Css(CorrectSunOfSquare)修正偏差平方和Df(DegreesOfFreedom)自由度Prob(Probability)概率Skewness偏斜度Kurtosis峰度Freq(Frequency)频数CumFreq(CumulativeFrequence)累计频数CumPrecent累计百分数TTestsT测验T:Mean=0假设均值为0的t测验Weight权数(权重)Mode众数Quantiles四分位值Extremes极端值实例:测得100株果树的产量分别为:(公斤)77784485428051626010563958575107627963107109927265865591778281102955478795737105638368797175738573597591114383778104914061737766733930131133689253388543113636985638296837412152812672587776567853751115094634110410453试求其样本基本统计量。该组数据是否服从正态分布?首先建立一个上述数据的SAS数据集,指定数据集名为sasuser.fruit。产量变量名为yield。§2.1计算基本统计量1、点菜单:Solutions(解决方案)Analysis(分析菜单)Analyst(分析员分析菜单)FileOpenbySASname(打开一个SAS系统的数据集)选择一个数据集(如:fruit)Open(打开该集)Statistics(统计分析菜单)Descriptive(计算描述性统计量)Summarystatistics(计算简单统计量)输入要分析的变量点击AnalysisStatistics(全选或勾选部分统计量选项)OK(运行)2、编程:ProcMeansdata=sasuser.fruitmeanstdstderrvarnminmaxmedianrangesumcssusscvskewnesskurtosis;Varyield;Run;运行结果:TheMEANSProcedureAnalysisVariable:yieldMeanStdDevStdErrorVarianceNNmissMinimumMaximum-74.690022.28412.2284496.5797100026.0000133.0000MedianRangeSumCSSUSSCVSkewness-75.0000107.00007469.000049161.3900607021.00029.83540.1920Kurtosis-0.0932§2.2统计图表的制作一、直方图1、Solutions(解决方案)Analysis(分析菜单)Analyst(分析员分析菜单)FileOpenbySASname(打开一个SAS系统的数据集)选择一个数据集Open(打开该集)Graphs(图形菜单)Histogram(直方图)选择要分析的变量加入到Analysis点击OK(运行)2、Solutions(解决方案)Analysis(分析菜单)InteractiveDataAnalysis(交互数据分析菜单)选择一个数据库(Library)选择一个数据集(Dataset)0pen(打开该集)Analyze(分析菜单)Histogram/BarChart(作直方图)选择一个统计分析变量点击Y点击OK(运行)Yield二、盒须图(箱线图)1、Solutions(解决方案)Analysis(分析菜单)Analyst(分析员分析菜单)FileOpenbySASname(打开一个SAS系统的数据集)选择一个数据集Open(打开该集)Graphs(图形菜单)BoxPlot(盒须图)选择要分析的变量加入到AnalysisDisplayStyleSchematic点击OK(运行)2、Solutions(解决方案)Analysis(分析菜单)InteractiveDataAnalysis(交互数据分析菜单)选择一个数据库选择一个数据集(Dataset)0pen(打开该集)Ana