统计实验与SAS上机简易过程步
- 格式:doc
- 大小:181.50 KB
- 文档页数:12
一、数据集的建立1.导入Excel数据表的步骤如下:1) 在SAS应用工作空间中,选择菜单“文件”→“导入数据”,打开导入向导“Import Wizard”第一步:选择导入类型(Select importtype)。
2) 在第二步的“Select file”对话框中,单击“Browse”按钮,在“打开”对话框中选择所需要的Excel文件,返回。
然后,单击“Option”按钮,选择所需的工作表。
(注意Excel文件要是2003的!!)3) 在第三步的“Select library and member”对话框中,选择导入数据集所存放的逻辑库以及数据集的名称。
4 ) 在第四步的“Create SAS Statements”对话框中,可以选择将系统生成的程序代码存放的位置,完成导入过程。
2.用INSIGHT创建数据集1)启动SAS INSIGHT模块,在“SAS INSIGHT:Open”对话框的”逻辑库“列表框中,选定库逻辑名2)单击“新建”按钮,在行列交汇处的数据区输入数据值(注意列名型变量和区间型变量,这在后面方差分析相关性分析等都要注意!!)3)数据集的保存:•“文件”→“保存”→“数据”;•选择保存的逻辑库名,并输入数据集名;•单击“确定”按钮。
即可保存新建的数据集。
3.用VIEWTABLE窗口建立数据集1)打开VIEWTABLE窗口2)单击表头顶端单元格,输入变量名3)在变量名下方单元格中输入数据4)变量类型的定义:右击变量名/column attributes…4.用编程方法建立数据集DATA 语句; /*DATA步的开始,给出数据集名*/Input 语句;/*描述输入的数据,给出变量名及数据类型和格式等*/(用于DATA步的其它语句)Cards; /*数据行的开始*/[数据行]; /*数据块的结束*/RUN; /*提交并执行*/例子:data=数据集名字;input name$ phone room height; ($符号代表该列为列名型,就是这一列是文字!!比如名字,性别,科目等等)cards;rebeccah 424 112 (中间是数据集,中间每一行末尾不要加逗号,但是carol 450 112 数据集最后要加一个分号!!)louise 409 110gina 474 110mimi 410 106alice 411 106brenda 414 106brenda 414 105david 438 141betty 464 141holly 466 140;proc print data=; (这一过程步是打印出数据集,可要可不要!)run;*数据集中的框架我会用加粗来显示,大家主要记加粗的,下面的编程部分都是这样!!二、基本统计分析1.用INSIGHT计算统计量1)在INSIGHT中打开数据集在菜单中选择“Solution(解决方案)”→“Analysis(分析)”“Interactive Data Analysis(交互式数据分析)”,打开“SAS/INSIGHT Open”对话框,在对话框中选择数据集,单击“Open(打开)”按钮,即可在INSIGHT中打开数据窗口2)选择菜单“Analyze(分析)”→“Distribution (Y)(分布)”,打开“Distribution (Y)”对话框。
20个SAS过程步
1、PROC
MEANS--数据描述:计算均数、标准差、最大值、最小值、变量有效数据个数、变量缺失个数
2、PROC UNIV ARIATE--正态性检验
3、PROC TTEST--两独立样本检验
4、PROC NPAR1WAR--秩和检验
5、PROC ANOV A--方差分析
6、PROC CORR--相关性分析
7、PROC REG--回归分析
8、PROC FREQ--计数资料描述;卡方检验;诊断试验
9、PROC LOGISTIC--结局是二分类的Logisitc回归分析
10、PROC PHREG--生存分析
11、PROC POWER--样本量及把握度计算
12、PROC PRINT--显示数据集
13、PROC GLM--回归分析或协方差分析
14、PROC RANK--给某变量排次或按序分组
15、PROC SORT--按某变量排序
16、PROC SURVEYSELECT--概率抽样
17、PORC IMPORT--导入数据集
18、PROC EXPORT--导出数据集
19、PROC CONTENTS--产生一个数据集的头文件,包含了多种该数据集的信息
20、PROC TABULATE--输出报表。
数据分析与统计软件上机实验报告实验目的➢初步掌握sas软件的使用方法和语言结构➢学会运用sas软件进行简单的数据处理实验内容1某小学60名11岁学生的身高(单位cm)的数据如下126 149 143 141 127 123 137 132 135 134 146 142 135 141 150 137 144 137 134 139 148 144 142 137 147 138 140 132 149 131 139 142 138 145 147 137 135 142 151 146 129 120 143 145 142 136 147 128 142 132 138 139 147 128 139 146 139 131 138 149 (1)计算均值、方差、标准差、变异系数、偏度、峰度;(2)计算中位数,上、下四分位数,四分位极差,三均值;(3)做出直方图;(4)做出茎叶图;解答1)使用sas软件编程答案为:统计量身高N 有效60缺失0均值139.0000中值139.0000标准差7.06387方差49.898偏度-.510偏度的标准误.309峰度-.126峰度的标准误.608百分位数25 135.000050 139.000075 144.7500变异系数=标准差/均值=5.08%2)部分结果在问题(1)中中位数:139.0000四分位极差=Q3-Q1=144.75-135=9.75三均值=0.25*Q1+0.5*M+0.25*Q3=139.4375 3)使用软件画图得到4)使用sas软件画图得到程序附录(1)DATA DQGZ;INPUT X @@;CARDS;126 149 143 141 127 123 137 132 135 134 146 142 135 141 150 137 144 137 134 139 148 144 142 137 147 138 140 132 149 131 139 142 138 145 147 137 135 142 151 146 129 120 143 145 142 136 147 128 142 132 138 139 147 128 139 146 139 131 138 149 PROC MEANS N MEAN STD VAR USS CSS;RUN;(4)身高 Stem-and-Leaf PlotFrequency Stem & Leaf1.00 Extremes (=<120)1.00 12 . 35.00 12 . 678897.00 13 . 112224418.00 13 . 555677777888899999 13.00 14 . 011222222334413.00 14 . 55666777789992.00 15 . 01Stem width: 10.00Each leaf: 1 case(s)。
SAS分析常用的过程过程步大全为区分过程名称的拼写,故意部分小写,以便识别和记忆。
基本SAS程序代码结构:---------PROC MODE data=Arndata.moddat; /* 命令的解释*/var y x1-x6; /* 命令的解释 */model y = x1-x6;run;------------------------------------------正态性检验PROC UNIvariate---------PROCUNIvariate data=Arndata.unidat;var x1;run;------------------------------------------相关分析和回归分析PROC REG 回归---------PROC REG data=Arndata.regdat;var y x1-x6;model y = x1-x6 / selection=stepwise;/* 加入逐步回归选项 */print cli; /* 加入输出预测结果部分,还可以输出acov,all,cli,clm,collin,collinoint,cookd,corrb,covb,dw(时序检验统计量),i,influence,p,partial,pcorr1,pcorr2,r,scorr1,scorr2,seqb,spec,ss1,ss2,stb,tol, vif(异方差检验统计量),xpx*/plot y*x2 / conf95; /* 做散点图 */run;---------------------------------------------------DATA Arndata.regdat;x2x2 = x2*x2;x1x2 = x1*x2;PROC REG data=Arndata.regdat;var y x1 x2 x2x2 x1x2 ; /* 多项式回归,非线性回归 */model y = x1 x2 x2x2 x1x2 / selection=stepwise; /* 加入逐步回归选项*/print cli;plot y*x2 / conf95; /* 做散点图 */run;------------------------------------------PROC RSreg 二次响应面回归PROC ORTHOreg 病态数据回归PROC NLIN 非线性回归PROC TRANSreg 变换回归PROC CALIS 线性结构方程和路径分析PROC GLM 一般线性模型PROC GENmod 广义线性模型方差分析PROC ANOVA 单因素均衡数据和非均衡数据---------PROC ANOVA data=Arndata.anovadat; /* 命令的解释 */class typ; /* 命令的解释 */model y = typ; /* 可以看出此处是单因素方差分析(分类型自变量对数值型自变量的影响) */run;------------------------------------------PROC GLM 多因素非均衡数据:---------PROC GLM data=Arndata.glmdat; /* 命令的解释*/class typea typeb; /* 命令的解释 */model y = typea typeb; /* 可以看出此处是不考虑交互作用的多因素方差分析(分类型自变量对数值型自变量的影响) */run;---------------------------------------------------PROC GLM data=Arndata.glmdat; /* 命令的解释*/class typea typeb; /* 命令的解释 */model y = typea typeb typea*typeb; /* 可以看出此处是考虑交互作用的多因素方差分析(分类型自变量对数值型自变量的影响) */run;------------------------------------------主成分分析PROC PRINcomp---------PROCPRINcomp data=Arndata.pmdat n=4 out=w1 outstat=w2 ;var x1-x6;PROC print data=w1;PROC plot data=w1 vpct=80; /* 一句话,其实print就是plot输出图形的文字形式而已 */plot prin1*prin2 $ districts='*'/haxis=-3.5 to 3 by 0.5 HREF=-2,0,2vaxis=-3 to 4.5 by 1.5 HREF=-2,0,2; /* 主成分的散点图,也就是载荷图 */run;------------------------------------------因子分析PROC FACTOR---------PROC FACTOR data=Arndata.factordat simple corr ;var y x1-x6;title'18个财务指标的分析';title2'主成分解';run;PROC FACTOR data=Arndata.factordatn=4 ; /* 选择4个公共因子 */ var y x1-x6;run;PROC FACTOR data=Arndata.factordat n=4rotate=VARImaxREorder; /* 因子旋转:方差最大因子法 */var y x1-x6;run;------------------------------------------PROC SCORE---------PROC FACTOR data=Arndata.factordat n=4rotate=VARImax REorder score out=score_Out; /* 输出因子得分矩阵 */run;PROC print data=score_Out;var districts factor1 factor2 factor3 factor4;run;PROC plot data=score_Out;plot factor1*factor2 $ districts='*' / href=0 Vref=0; /* 因子的散点图,也就是载荷图 */run;------------------------------------------典型相关分析PROC CANcorr基本SAS程序代码结构:---------DATAjt(TYPE=CORR); /*TYPE=CORR 表明数据类型为相关矩阵,而不是原始数据, type还可以是cov,ucov,factor,sscp,ucorr等*/input names$ 1-2(x1 x2 y1-y3)(6.); /* name $ 表示读取左侧的变量名,1-2表示变量名的字符落在第1,2列上 */cards;x1 1 0.8 ……x2 ……y1 ……y2 ……y3 ……;PROC CANcorrdata=Arndata.cancorrdatedf=70 redundancy; /* 误差自由度的参考值,默认值是n=1000;redundancy表示输出冗余度分析的结果 */var x1 x2;with y1 y2 y3;run;------------------------------------------对应分析 /* 交叉表分析的拓展,寻找行和列的关系,一般行指代各种cases,而列代表各种visions */PROC CORResp---------PROC CORRespdata=Arndata.correspdat out=result;var x1-x6;id Type;run;options ps=40;proc plot data=result;plot dim2*dim1="*" $ Type / boxhaxis=-0.2 to 0.3 by 0.1Vaxis=-0.1 to 0.3 by 0.1Href=0 Vref=0;run;------------------------------------------聚类分析PROC CLUSTER---------PROC CLUSTER data=Arndata.clusdatmethod=ave outtree=clusdat_Out;var x1-x6;id datid;run;proc tree horizontal; /* 做聚类树 */run;------------------------------------------PROC FASTclus---------PROC FASTclus data=Arndata.clusdatmaxclusters=3 list out=clusdat_Out;var x1-x6;id datid;run;------------------------------------------PROC ACEclusPROC VARCLUS---------PROC VARclus data=Arndata.clusdat;/* 系统默认使用主成分法聚类 */var x1-x6;run;---------PROC VARclus hierarchy data=Arndata.clusdat; /* 保证分析过程中不同水平的谱系结构 */var x1-x6;run;---------PROC VARclus centroid data=Arndata.clusdatouttree=clusdat_out; /* 使用重心法聚类 */ var x1-x6;run;------------------------------------------PROC TREE---------PROC TREE data=Arndata.clusdat horizontal; /* 使用TREE过程绘制聚类谱系图*/var x1-x6;run;------------------------------------------判别分析PROC DISCRIM---------PROC DISCRIM data=Arndata.discrimdatlist out=discrimdat_Out distance pool=yes;class Typ; /* 指定分类变量 */var x1-x6; /* 用于建立判别识别函数的变量 */id iddiscrim; /* 标注样本的变量 */run;---------第二种方法,将需要判别的新样本放在testdata里:---------PROC DISCRIM data=Arndata.discrimdat1testdata=Arndata.discrimdat2testlist testout=discrimdat_Out; /* 将原来的几个选项加注test标示 */class Typ; /* 指定分类变量 */var x1-x6; /* 用于建立判别识别函数的变量 */id iddiscrim; /* 标注样本的变量 */run;------------------------------------------PROC STEPdisc:逐步判别分析过程---------PROC STEPdisc method=stepwise data=Arndata.discrimdatSLentry=0.10 SLstay=0.10; /* 设定引入和剔除的显著性水平 */class Typ; /* 指定分类变量 */var x1-x6; /* 用于建立判别识别函数的变量 */run;------------------------------------------PROC CANdisc: Fisher判别分析过程---------PROC CANdiscdata=Arndata.discrimdatout=discrimdat_Outdistance simple;class Typ; /* 指定分类变量 */var x1-x6; /* 用于建立判别识别函数的变量 */run;proc print data=discrimdat_Out;run;-----------------------------------------------------------------------------------------------------------------------------------------------------------友情协助:特征库豆瓣统计学小组 /group/stats。
一、数据集的建立1.导入Excel数据表的步骤如下:1) 在SAS应用工作空间中,选择菜单“文件”→“导入数据”,打开导入向导“Import Wizard”第一步:选择导入类型(Select import type)。
2) 在第二步的“Select file”对话框中,单击“Browse”按钮,在“打开”对话框中选择所需要的Excel文件,返回。
然后,单击“Option”按钮,选择所需的工作表。
(注意Excel文件要是2003的!!)3) 在第三步的“Select library and member”对话框中,选择导入数据集所存放的逻辑库以及数据集的名称。
4 ) 在第四步的“Create SAS Statements”对话框中,可以选择将系统生成的程序代码存放的位置,完成导入过程。
2.用INSIGHT创建数据集1)启动SAS INSIGHT模块,在“SAS INSIGHT:Open”对话框的”逻辑库“列表框中,选定库逻辑名2)单击“新建”按钮,在行列交汇处的数据区输入数据值(注意列名型变量和区间型变量,这在后面方差分析相关性分析等都要注意!!)3)数据集的保存:•“文件”→“保存”→“数据”;•选择保存的逻辑库名,并输入数据集名;•单击“确定”按钮。
即可保存新建的数据集。
3.用VIEWTABLE窗口建立数据集1)打开VIEWTABLE窗口2)单击表头顶端单元格,输入变量名3)在变量名下方单元格中输入数据4)变量类型的定义:右击变量名/column attributes…4.用编程方法建立数据集DATA 语句; /*DATA步的开始,给出数据集名*/Input 语句;/*描述输入的数据,给出变量名及数据类型和格式等*/(用于DATA步的其它语句)Cards; /*数据行的开始*/[数据行]; /*数据块的结束*/RUN; /*提交并执行*/例子:data=数据集名字;input name$ phone room height; ($符号代表该列为列名型,就是这一列是文字!!比如名字,性别,科目等等)cards;rebeccah 424 112 (中间是数据集,中间每一行末尾不要加逗号,但是carol 450 112 数据集最后要加一个分号!!)louise 409 110gina 474 110mimi 410 106alice 411 106brenda 414 106brenda 414 105david 438 141betty 464 141holly 466 140;proc print data=; (这一过程步是打印出数据集,可要可不要!)run;*数据集中的框架我会用加粗来显示,大家主要记加粗的,下面的编程部分都是这样!!二、基本统计分析1.用INSIGHT计算统计量1)在INSIGHT中打开数据集在菜单中选择“Solution(解决方案)”→“Analysis(分析)”“Interactive Data Analysis(交互式数据分析)”,打开“SAS/INSIGHT Open”对话框,在对话框中选择数据集,单击“Open(打开)”按钮,即可在INSIGHT中打开数据窗口2)选择菜单“Analyze(分析)”→“Distribution (Y)(分布)”,打开“Distribution (Y)”对话框。
统计实验与SAS上机简易过程步数据统计分析⼀般可遵循以下思路:(1)先确定研究⽬的,根据研究⽬的选择⽅法。
不同研究⽬的采⽤的统计⽅法不同,常见的研究⽬的主要有三类:①差异性研究,即⽐较组间均数、率等的差异,可⽤的⽅法有t检验、⽅差分析、χ2检验、⾮参数检验等。
②相关性分析,即分析两个或多个变量之间的关系,可⽤的⽅法有相关分析。
③影响性分析,即分析某⼀结局发⽣的影响因素,可⽤的⽅法有线性回归、logistic回归、Cox 回归等。
(2)明确数据类型,根据数据类型进⼀步确定⽅法:①定量资料可⽤的⽅法有t检验、⽅差分析、⾮参数检验、线性相关、线性回归等。
②分类资料可⽤的⽅法有χ2检验、对数线性模型、logistic回归等。
下图简要列出了不同研究⽬的、不同数据类型常⽤的统计分析⽅法。
(3)选定统计⽅法后,需要利⽤统计软件具体实现统计分析过程。
SAS中,不同的统计⽅法对应不同的命令,只要⽅法选定,便可通过对应的命令辅之以相应的选项实现统计结果的输出。
(4)统计结果的输出并⾮数据分析的完成。
⼀般统计软件都会输出很多结果,需要从中选择⾃⼰需要的部分,并做出统计学结论。
但统计学结论不同于专业结论,最终还需要结合实际做出合理的专业结论。
第⼀部分:统计描述1.定量资料的统计描述指标及SAS实现;(1)数据分布检验:PROC UNIVARIATE①基本格式:②语句格式⽰例:1.PROC UNIVARIATE normal;/*normal选项表⽰进⾏正态性检验*/2.CLASS group;/*指定group为分组变量*/3.VAR weight;/*指定分析变量为weight*/4.RUN;③结果:正态性检验(tests for normality)结果,常⽤的是Shapiro-Wilk 检验和Kolmogorov-Smirnov检验。
当例数⼩于2000时,采⽤Shapiro-Wilk检验W值为标准;当例数⼤于2000时,SAS中不显⽰Shapiro-Wilk检验结果,采⽤Kolmogorov-Smirnov检验D值为判断标准。
快速上手使用SAS进行统计分析和建模第一章:引言SAS(Statistical Analysis System)是一种功能强大的统计分析和建模工具,广泛应用于各个领域的数据分析。
本文将介绍如何快速上手使用SAS进行统计分析和建模。
我们将按照不同的步骤和技巧,逐步介绍如何运用SAS进行数据处理、描述统计、假设检验、回归分析以及模型建立与评估等。
第二章:数据处理在使用SAS进行统计分析之前,我们首先需要对数据进行处理。
这包括数据清洗、格式转换、合并和抽样等操作。
通过使用SAS的数据步骤(Data Step)和数据流程(Data Flow)技术,我们可以对数据集中的缺失值、异常值等进行处理,保证数据的准确性和完整性。
第三章:描述统计分析描述统计分析是数据分析的基础,通过对数据的基本特征进行分析,我们可以获得关于数据集的详细信息。
SAS提供了丰富的描述统计分析方法,包括均值、方差、相关系数、频率分布等。
我们可以使用PROC MEANS、PROC UNIVARIATE、PROC FREQ等过程来进行描述统计分析,并得到直观的统计图表。
第四章:假设检验假设检验是统计分析中常用的方法,用于验证研究假设的合理性。
SAS提供了多种假设检验方法,包括t检验、方差分析、卡方检验等。
我们可以使用PROC TTEST、PROC ANOVA、PROC CORR等过程来进行假设检验,并得出显著性结论,进一步推断总体参数。
第五章:回归分析回归分析是用于研究变量之间关系的重要方法,旨在构建预测模型和解释变量之间的关系。
SAS提供了强大的回归分析工具,包括线性回归、逻辑回归、多元回归等。
我们可以使用PROC REG、PROC LOGISTIC、PROC GLM等过程来进行回归分析,并获取模型的系数、拟合优度等统计结果。
第六章:模型建立与评估模型建立与评估是统计建模的关键环节,通过选择合适的变量和建立合理的模型,我们可以对数据进行预测和推断。
实用标准文档SPSS和SAS统计实验指导书(学生用)王慧、欧晓华、王立平等编经济与贸易系市场营销教研室2006年4月目录实验一:统计描述 (3)1.均值(Mean)和均值标准误差(S.E.mean) (3)2.中位数(Median) (5)3.众数(Mode) (6)4.全距(Range) (7)5.方差(Variance)和标准差(Standard Deviation) (8)6.四分位数(Quartiles)和十分位数(Deciles) (10)7.频数(Frequency) (12)8.峰度(Kurtosis) (14)9.偏度(Skewness) (16)实验二:均值比较和T检验 (17)1.均值比较 (17)2.单一样本T检验 (20)3.两独立样本T检验 (21)4.两配对样本T检验 (23)实验三:相关分析 (26)1.实验理论概述 (26)2.二元定距变量的相关分析 (26)3.二元定序变量的相关分析 (33)4.偏相关分析 (36)5.距离相关分析 (41)实验四:回归分析 (51)1.一元线性回归 (51)2.多元线性回归分析 (57)实验一:统计描述实验内容:均值、中位数、众数、全距、方差与标准差、四分位数、十分位数、频数、峰度、偏度实习目的:掌握SPSS基本的统计描述方法,可以对要分析的数据的总体特征有比较准确的把握,从而为以后实验项目选择其他更为深入的统计分析方法打下基础。
实验一要研究的问题:输入SPSS保存。
1.均值(Mean)和均值标准误差(S.E.mean)问题:求该班级在一次数学测验中的平均成绩和其标准差★实验步骤:『步骤1』单击“Analyze”菜单“Descriptive statistics”项中的“Frequencies”命令,如图1-1所示。
图1-1 选择Frequencies菜单『步骤2』弹出Frequencies对话框,如图1-2所示,在对话框左侧的便利列表中选择“数学”,单击按钮使之添加到Variable(s)框中。
SAS统计分析系统操作方法及界面介绍SAS(Statistical Analysis System)是一种广泛应用于数据分析和统计建模的软件系统。
它提供了一系列强大的工具和功能,使得用户能够高效地进行数据处理、统计分析和预测模型建立。
本文将介绍SAS 的操作方法和界面特点,帮助读者更好地理解和使用这一工具。
一、SAS的安装与启动1. 安装SAS软件:首先,确保你已经获得合法的SAS软件安装包,并双击运行安装程序。
按照提示一步步完成安装过程即可。
2. 启动SAS软件:安装完成后,在桌面上可以找到SAS的启动图标,双击打开即可进入SAS系统。
二、SAS界面概述SAS的界面由多个组件构成,包括主窗口、编辑器、日志窗口、输出窗口等。
下面将简要介绍每个组件的作用和特点。
1. 主窗口:主窗口是SAS的核心界面,提供了整体控制和操作SAS系统的功能。
从主窗口可以进行数据输入、处理、分析和结果展示等操作。
2. 编辑器:编辑器是用于编写SAS程序代码的工具。
用户可以在编辑器中书写自己的分析代码,然后将其提交给SAS系统运行。
3. 日志窗口:日志窗口显示了SAS系统的运行信息,包括程序的执行过程、错误提示和警告信息等。
在日志窗口中可以查看和调试程序运行过程中的问题。
4. 输出窗口:输出窗口用于显示SAS程序的结果和图形。
在运行完成后,结果将会在输出窗口中展示,便于用户进行结果分析和查看。
三、SAS操作方法1. 数据读取与处理:在SAS中,可以使用多种方式读取数据,包括导入本地数据文件、从数据库中提取数据、直接生成模拟数据等。
读取数据后,可以使用SAS提供的数据处理函数进行格式转换、缺失值处理、重编码等操作。
2. 统计分析:SAS拥有丰富的统计分析功能,可用于描述性统计、假设检验、方差分析、回归分析等多个领域。
用户可以通过调用相应的SAS函数,快速完成对数据的统计分析。
3. 数据可视化:SAS提供了多种绘图函数,用于生成各类图表和图形。
数据统计分析一般可遵循以下思路:(1)先确定研究目的,根据研究目的选择方法。
不同研究目的采用的统计方法不同,常见的研究目的主要有三类:①差异性研究,即比较组间均数、率等的差异,可用的方法有t检验、方差分析、χ2检验、非参数检验等。
②相关性分析,即分析两个或多个变量之间的关系,可用的方法有相关分析。
③影响性分析,即分析某一结局发生的影响因素,可用的方法有线性回归、logistic回归、Cox 回归等。
(2)明确数据类型,根据数据类型进一步确定方法:①定量资料可用的方法有t检验、方差分析、非参数检验、线性相关、线性回归等。
②分类资料可用的方法有χ2检验、对数线性模型、logistic回归等。
下图简要列出了不同研究目的、不同数据类型常用的统计分析方法。
(3)选定统计方法后,需要利用统计软件具体实现统计分析过程。
SAS中,不同的统计方法对应不同的命令,只要方法选定,便可通过对应的命令辅之以相应的选项实现统计结果的输出。
(4)统计结果的输出并非数据分析的完成。
一般统计软件都会输出很多结果,需要从中选择自己需要的部分,并做出统计学结论。
但统计学结论不同于专业结论,最终还需要结合实际做出合理的专业结论。
第一部分:统计描述1.定量资料的统计描述指标及SAS实现;(1)数据分布检验:PROC UNIVARIATE①基本格式:②语句格式示例:1.PROC UNIVARIATE normal;/*normal选项表示进行正态性检验*/2.CLASS group;/*指定group为分组变量*/3.VAR weight;/*指定分析变量为weight*/4.RUN;③结果:正态性检验(tests for normality)结果,常用的是Shapiro-Wilk 检验和Kolmogorov-Smirnov检验。
当例数小于2000时,采用Shapiro-Wilk检验W值为标准;当例数大于2000时,SAS中不显示Shapiro-Wilk检验结果,采用Kolmogorov-Smirnov检验D值为判断标准。
正态性检验的P≤0.05提示不服从正态分布,P>0.05提示服从正态分布。
注:若服从正态分布,进行PROC MEANS过程步;若不服从则计算百分位数,转(3)(2)数据描述(符合正态分布的数据):PROC MEANS①基本格式:关键字(可以无视):不写任何关键字时默认输出n,mean,std,max,min;n:有效数据记录数(有效样本量) median:中位数mean:均数 qrange:四分位数间距std:标准差 var:方差clm:95%可信区间 max、min:最大、最小值②语句格式示例:1.PROC MEANS n mean std median qrange clm;/*关调用proc means过程,要求输出的指标有例数、均值、标准差、中位数、四分位数间距、95%可信区间*/2.CLASS group;/*指定group为分组变量*/3.VAR weight;/*指定分析变量为weight*/4.Run;③结果以“均数±标准差”表示(3)偏正态分布的统计描述:①基本思想:计算中位数和百分位数,并且用“中位数(Q1~Q3)”表示②语句格式示例:1.proc univariate data=aa;2.var x;3.output out=c pctlpre=P pctlpts=0 to 100 by 2.5;/*计算0到100百分位数,间隔2.5个百分位数,并将结果输出在数据集“aa”中*/4.run;5.proc transpose data=c out=d;6.proc print data=d;7.run;/*以上是求解百分位数语句*/1.proc univariate data=aa2.CIPCTLDF(alpha=0.05);/* 求百分位数的95%可信区间,(alpha=0.05)此处可缺省;若需求可信区间,只需指定相应的alpha水平*/3.var x;4.run;③结果:a.偏态分布的统计描述以“中位数(Q1~Q3)”表示b.总体参数的95%可信区间2.分类(定性)资料的统计描述指标及SAS实现(1)输出频数表:PROC FREQ①基本格式:②语句格式示例:1.PROC FREQ;2.TABLE group * weight;/*table后有group和grade两个变量,交叉形成一个行X列的表格,若group为2类,grade为3类,因此形成2X3=6个格子,每一格子中给出例数和相应比例*/3.RUN;(2)直方图的绘制①基本语句:histogram 变量x②语句格式示例:1.proc univariate;2.var x;3.histogram x/midpoints=163 to 183 by 2; /*要求Univariate过程绘制的直方图中各直条的组中值为163、165、……183(自行改动)*/4.run;(3)计算基本统计量和95%可信区间:PROC UNIVARIATE①基本要求:计算定性资料的95%可信区间②语句格式示例:1.proc univariate cibasic; /*基本统计量及其可信区间,对应于CIBASIC选项*/2.var x;3.run;③结果:此步骤结果只需观察SAS结果中的“基本置信限正态假设”一栏,其他可无视。
第二部分:定量资料的统计分析1.单一样本均数的检验(1)直接公式编辑①适用条件:没有原始数据,而只知道样本均数及已知总体的总体均数时②方法示例:某医生测量了36名从事某作业的男性工人的血红蛋白含量,其均值为130.83g/L,标准差为25.74g/L。
问从事该作业男性工人的血红蛋白含量是否不同于正常成年男性的均值140g/L③SAS过程步:1.data aa;2.n=36;3.sm=130.83;/*样本均数*/4.std=25.74; /*样本标准差*/5.pm=140; /*总体均数*/6.df=n-1; /*自由度*/7.t=(sm-pm)/(std/sqrt(n)); /*单样本t 检验的计算公式*/8.p=(1-probt(abs(t),df))*2;/* ①abs(x)函数:返回x的绝对值。
②probt(x,df)函数:是student t分布的概率分布函数,用于计算自由度为df的t分布在t取x值时的概率。
因为是做双侧检验,所以求得一侧的概率值后再乘以2*/9.proc print;10.var t p;11.run;③结果使用t和p值(2)利用MEANS或UNIVARIATE过程计算①已知样本资料的原始数据,单样本t 检验可以利用MEANS过程和UNIVARIATE过程实现②语句格式示例:1.proc means mean std t ptr;2.var y;/*y值为每一个观测值与已知总体均数的差值*/3.run;或者1.proc univariate;2.var y;/*y值为每一个观测值与已知总体均数的差值*/3.run;③方法类似于统计描述,结果指标为t和p值2.完全随机两组正态分布资料的比较①分析思路:两组比较属于差异性研究,再看是否正太,可考虑方法有独立样本的t检验或Wilcoxon秩和检验,具体还应进一步看资料的分布情况。
②正态性检验:1.proc univariate normal;2.class group; var x;3.run;若为正态性则可使用t检验,否则使用Wilcoxon秩和检验(见后文)③t检验语句:1.proc ttest2.class group;3.var x;4.run;④结果:观察t值和p值,给出结论3.完全随机两组非正态分布资料的比较①思路同上2,首先进行正态性检验;语句略②非正态分布时两组之间的秩和检验语句:1.proc npar1way Wilcoxon;/*wilcoxon选项给出wilcoxon和Kruskal-Wallis检验值*/2.class group;3.var x;4.run;③秩和检验观察Z值和P值,得出结论4.完全随机多组正态分布资料的比较①前提是研究为完全随机设计,需要分析两组数据的变化值,因此可以考虑方差分析或Kruskal-Wallis秩和检验,具体还应进一步看资料是否符合正态分布;②正态性检验确定具体分析方法,若为正态,使用方差分析,否则为Kruskal-Wallis秩和检验(非参数检验,见后文):正态性检验过程步略···③方差分析:只有glm过程,anova过程请参考课件1.proc glm;2.class group;3.model x=group;4.means group/hovtest lsd;/*使用lsd法进行两两比较并给出p值*/5.run;④根据两组之间p值是否有意义给出结论5.完全随机多组非正态分布资料的比较①同上思路,首先正态检验,不符合时候,使用多组之间的Kruskal-Wallis 秩和检验;首先进行秩和检验:1.proc npar1way Wilcoxon;/*wilcoxon选项给出wilcoxon和Kruskal-Wallis检验值*/2.class group;3.var x;4.run;②多组非正态分布资料两两之间的比较的过程步:(原理:对研究变量的秩进行排序,用方差分析对秩次进行两两比较);1.proc rank data=ex12_5 out=rank5;2.var x;3.run;4.proc print data=ranks;5.run;6.proc glm data=ranks;7.class group;8.model x=group;9.means group/lsd;10.run;完全copyPPT···③结果观察:先看χ2和p值(总体指标)有无统计学意义,若无意义,无需进行两两比较,只有总体指标χ2和p值有意义才需进行两两检验。
6.析因设计方差分析①析因设计有一点重要的是:A和B两个指标之间可能会有交互作用,需考虑二者之间的交互作用a*b②首先仍然是正态性检验,若符合可直接用析因设计的方差分析,否则可用Kruskal-Wallis秩和检验(类似于完全随机设计);③析因设计的过程步(符合正态分布):1.proc glm data=aa;2.class a b;3.model x=a b a*b;/*计算a,b以及a*b,之间的相互作用*/4.output out=glmout P=pred R=resi; /*将三者之间的P值和R值输出到新的数据集glmout中,并对二者进行赋值*/5.run;1.proc gplot data=glmout ;2.plot pred*a=b/HAIXS=0.5 1 2 2.5 VAIXS=0.1 to 0.2 by 0.02; /*2*2析因设计交互效应作图*/3.symbol I=join;4.run;③结果参考:同样先看总体之间差异有无统计学意义:若有意义,继续观察两两之间的p值;若无意义,可无视。