1、 ; /*数据块的结束*/ RUN; /*提交并执行*/ 例子:data=数据集名字mylib.a;inputname$ phone room height; ($符号代表该列为列名型,就是这一列是文字!比如名字,性别,科目等等)cards;rebeccah 424 112 1.5648 (中间是数据集,中间每一行末尾不要加逗号,但是carol 450 112 5.6235 数据集最后要加一个分号!louise 409 110 1.2568gina 474 110 1.3652mimi 410 106 1.6542alice 411 106 1.6985brenda 414 106 1.369
2、8brenda 414 105 1.8975david 438 141 1.6547betty 464 141 1.5647holly 466 140 1.5624 ;proc print data=whb.phones; (这一过程步是打印出数据集,可要可不要! run;*数据集中的框架我会用加粗来显示,大家主要记加粗的,下面的编程部分都是这样!二、基本统计分析1 1. 用INSIGHT计算统计量1)在INSIGHT中打开数据集在菜单中选择“Solution(解决方案)”“Analysis(分析)”“Interactive Data Analysis(交互式数据分析)”,打开“SAS/INS
3、IGHT Open”对话框,在对话框中选择数据集,单击“Open(打开)”按钮,即可在INSIGHT中打开数据窗口2)选择菜单“Analyze(分析)”“Distribution (Y)(分布)”,打开“Distribution (Y)”对话框。在数据集的变量列表中,选择分析变量X、分组变量Y。(注意:分组变量就是那种可以区别不同种类的变量,例如地区编号、科目、组号等等,而分析变量一般是需要分析的数据,例如成绩,身高书目)3)单击“Output(输出)”按钮,在打开的对话框中包含描述性统计量选项。4) 选择选项矩统计量和分位数,取消默认的选项:“Box Plot/Mosaic Plot”和“H
4、istogram/Bar Chart”,单击“OK”按钮,即可得到变量按分组的各种矩统计量(Moments)和分位数(Quantiles)*描述性统计选项:Moments 矩统计量 Quantiles分位数见书P37 Basic Confidence Intervals 基本置信区间Tests for Location 位置检验 Frequency Counts 频数统计Robust Measures of Scale 尺度的稳健估计Tests for Normality 正态性检验2 2. 用“分析家”计算统计量1)启动“分析家” 选择主菜单“Solutions(解决方案)”“Analysi
5、s(分析)”“Analyst(分析家)”,打开“分析家”窗口。 选择主菜单“File(文件)”“按SAS名称打开”,打开“选择成员”对话框,选择数据集。2)通过Summary Statistics菜单计算描述性统计量 选择主菜单“Statistics(统计)”“Descriptive(描述性统计)”“Summary Statistics(汇总统计量)”,打开“Summary Statistics”对话框,选择变量列表中分析变量,单击“Analysis”按钮,选定分析变量单击“Statistics”按钮,打开“Summary Statistics:Statistics”对话框。对话框中列出可以计
6、算的所有统计量。3) 通过Distributions菜单计算描述性统计量选择主菜单“Statistics(统计)”“Descriptive(描述性统计)”“Distributions(分布)”,打开“Distributions”对话框,选择变量列表中的分析变量,单击“Analysis”按钮。单击“OK”按钮,即可得到关于分析变量的矩统计量和基本统计测度。3.用编程方法计算统计量1)FREQ过程FREQ过程包括多个控制频数输出与检验的语句和选项,格式如下:PROC FREQ DATA = ; TABLES ; FORMAT . . ;RUN;其中PROC FREQ语句调用FREQ过程,标志FRE
7、Q过程的开始;TABLES语句用于创建有关变量所构成的各种表格并进行相应的假设检验和计算,可以多次使用。例如:proc freq data = mylib.sryzc; tables R_Id Income;这个语句提供了频数,所占百分数,累计频数,和累计百分数!2. MEANS过程 MEANS过程的一般格式:PROC MEANS DATA=; VAR ; BY CLASS RUN;proc means data = mylib.sryzc; var Income;run;PROC MEANS语句后的选项主要用来指定所要计算的统计量,默认情况下,MEANS过程会给出频数、均数、标准差、最大值和
8、最小值等,其余统计量的计算均需要在选项中指定。 VAR语句引导所要进行分析的所有变量的列表,SAS将对VAR语句所引导的所有变量分别进行描述性统计分析。 BY语句与CLASS语句所指定的分类变量用来进行分组统计,但输出格式不同。3. 使用统计量关键字列表1) 在PROC MEANS语句中使用统计量关键字列表:proc means data = mylib.sryzc n mean median p1 p5 p95 p99 q1 q3 max min; var Income;Run;关键字所代表的含义n有效数据记录数range极差nmiss缺失数据记录数skewness偏度mean均值kurto
9、sis峰度std标准差t分布位置假设检验之t统计量stderr标准误probt上述t统计量对应的概率值var方差q1第一四分位数median中位数q3第三四分位数mode众数qrange四分位数间距cv变异系数p1第一百分位数max最大值p5第五百分位数min最小值p10第十百分位数sum总计p90第九十百分位数sumwgt加权值总计p95第九十五百分位数css校正平方和p99第九十九百分位数uss未校正平方和2)使用CLASS语句和BY语句 使用CLASS语句和BY语句可以分组计算分析变量的描述统计量值,由CLASS语句和BY语句指定的变量在分析中起分组(类)的作用,被称为分类变量。两个语句
10、的区别是: 使用BY语句时要求数据集须按BY变量排序,使用CLASS语句无此要求。 使用BY语句时输出按BY变量的每个值分别提供一个表,使用CLASS语句则将所有结果排列在一个表之中。使用BY语句之前先排序,可以在按分组变量统计: (p46)proc sort data = mylib.sryzc; by R_Id;使用CLASS语句分组较为简单,也可以在按分组变量统计(p47)proc means data= mylib.sryzc n mean median p1 p5 p95 p99 q1 q3 max min; class R_Id;3. UNIVARIATE过程(推荐使用) UNIV
11、ARIATE过程的一般格式为:PROC UNIVARIATE DATA = BY | CLASS HISTOGRAM / OUTPUT OUT = = UNIVARIATE过程和MEANS过程的格式非常相似,相同的语句和选项其含义也相同,所不同的是某些统计量只能在UNIVARIATE过程中计算(如众数),而且UNIVARIATE过程中具有绘图功能。 其中,HISTOGRAM语句用来指示SAS对其后所指定的变量绘制直方图,其后的选项用来指示SAS添加不同类型的拟合图形(如正态分布的分布密度曲线)。输出包括五个部分: 第一部分是矩统计量,各统计量已作了介绍。 第二部分为基本的位置和分散程度统计量,
12、位置统计量包括均值、中位数、众数,分散程度统计量包括标准差、方差、极差、四分位间距 第三部分为关于均值等于零的三种检验的结果,包括t检验、符号检验和符号秩检验。 第四部分为各个重要的分位数。 第五部分是观测数据的五个最低值和五个最高值。*因为这个编程含有最齐全的结果,大家做一个这个编程,所有的数据就可以自己调了,但是要找到那个对的哦!三、程序绘图1. GCHART过程(1) 语法格式PROC GCHART DATA = v GCHART过程可以使用的图形关键字及其所绘制的图形类型见表图形关键字绘制的图形类型block方块图pie饼形图hbar水平的条形图pie3d三维饼形图hbar3d水平的三
13、维条形图donut环形图vbar竖立的条形图star星形图vbar3d竖立的三维条形图TYPE =freq |cfreq |pct|cpct|sum|mean统计图形变量的频数|累计频数|Discrete 把数字变量当成离散变量处理GROUP=变量名 指定并排分组变量SUBGROUP=变量名 按分组变量的值分段Patternid=Midpoint|group|subgroup,规定连续性图形的图案按数字列表中的中心点值|并排分组值|重叠分组值的次序呈现SUMVAR =变量名(数值变量) 指定要进行统计计算的变量,也就是“TYPE = 统计量关键字”选项中统计量的计算所依据的变量举例啦!2) 画
14、条形图(直方图) proc gchart data = mylib.sryzc; vbar Income; (分析变量!其中绘图用的变量用VBAR语句给出,如果把VBAR改成HBAR则条形方向变为横向。用GCHART绘制的条形图和在INSIGHT中绘制的直方图有所不同,它在横轴标的是区间的中点值,而在INSIGHT中横轴标的是区间的端点值。可以指定分组的变量,例如在每个区段内再分段(就可以出现一个条形出现两个颜色哦!proc gchart data = mylib.sryzc;vbar Income / subgroup = R_Id; (前一个是分析变量,后一个是分组变量哦)3) 画三维条形
15、图 使用BLOCK关键字可以画三维条形图。例如,画出数据集中Income变量的三维条形图的代码如下: block Income/ group = R_Id; (前一个是分析变量,后一个是分组变量)4)画饼形图 使用PIE关键字可以画饼形图,PIE3D关键字可以画三维饼形图。例如,画出数据集中Income变量的三维饼形图的代码如下:proc gchart data =mylib.sryzc; PIE3DIncome; (分析变量哦!2使用GPLOT过程绘制散点图和连线图1)GPLOT过程的一般格式PROC GPLOT DATA = PLOT * = /; SYMBOLn 0.05 = ,所以不能
16、拒绝原假设,可以认为分析变量总体分布为正态分布。这是检验的一步,注意看P值与0.05的比较,当P值大于0.05时,就可以确定这个分析变量总体分布为正态分布!在“分析家”绘图1.绘制分布拟合图和QQ图 1) 首先在“分析家”中打开数据集; 2)选择主菜单“Statistics” “Descriptive” “Distributions”,打开“Distributions”对话框。选择分布拟合图和QQ图!2.分布检验 1)继续上述步骤。 在分析家窗口的项目管理器中双击“Fitted Distributions of Gcjg”项,得到检验结果2)分析结果时,注意看P值与0.05的比较,当P值大于0.05时,就可以确定这个分析变量总体分布为正态分布!用编程方法进行检验用编程方法是最方便的方法,也比较省时间,所以建议大家用这种方法!使用UNIVARIATE过程 在PROC UNIVARIATE语句中加上NORMAL选项可以进行正态性检验。proc univariate data = Mylib.yczl normal; var weight;检验结果:结果中给出了分析变量的四种正态性检验结果,其中Shapiro-Wilk检验是首选的。当看到p值很大大于0.05,所以在0.05水平下不能拒绝原假设,即认为分析变量服从正态分布
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1