登录
首页精彩阅读SAS编程PROC步—描述性统计量分析_数据分析师
SAS编程PROC步—描述性统计量分析_数据分析师
2015-06-09
收藏

SAS编程PROC步—描述性统计量分析_数据分析师


描述性统计指标的计算可以用四个不同的过程来实现,它们分别是means过程、summary过程、univariate过程以及tabulate过程。它们在功能范围和具体的操作方法上存在一定的差别,下面我们大概了解一下它们的异同点。

相同点:他们均可计算出均数、标准差、方差、标准误、总和、加权值的总和、最大值、最小值、全距、校正的和未校正的离差平方和、变异系数、样本分布位置的t检验统计量、遗漏数据和有效数据个数等,均可应用by语句将样本分割为若干个更小的样本,以便分别进行分析。

不同点:

(1)means过程、summary过程、univariate过程可以计算样本的偏度(skewness)和峰度(kurtosis),而tabulate过程不计算这些统计量;

(2)univariate过程可以计算出样本的众数(mode),其它三个过程不计算众数;

(3)summary过程执行后不会自动给出分析的结果,须引用output语句和print过程来显示分析结果,而其它三个过程则会自动显示分析的结果;

(4)univariate过程具有统计制图的功能,其它三个过程则没有;

(5)tabulate过程不产生输出资料文件(存储各种输出数据的文件),其它三个均产生输出资料文件。

  统计制图的过程均可以实现对样本分布特征的图形表示,一般情况下可以使用的有chart过程、plot过程、gchart过程和gplot过程。大家有没有发现前两个和后两个只有一个字母‘g’(代表graph)的差别,其实它们之间(只差一个字母g的过程之间)的统计描述功能是相同的,区别仅在于绘制出的图形的复杂和美观程度。

chart过程和plot过程绘制的图形类似于我们用文本字符堆积起来的图形,只能概括地反映出资料分布的大体形状,实际上这两个过程绘制的图形并不能称之为图形,因为他根本就没有涉及一般意义上图形的任何一种元素(如颜色、分辨率等)。而gchart过程和gplot过程给出的是真正意义上的图形,可以用很多的语句和选项来控制图形的各方面的性质和特征

chart和gchart与plot和gplot的区别则体现在不同的作图功能,前两个过程可以绘制出的图形主要有条形图(包括横条和竖条)、圆图、环形图和星形图等,后两个过程通常用一个记录中的两个变量值表示点的坐标来绘制图形,如散点图和线图等。

描述性统计过程的一般格式

 1. means过程的一般格式

proc means 选项列表;

by 变量名称(分组变量);

class 变量名称(分组变量);

freq变量名称(数值变量,用以表示相应记录出现的频数)

weight变量名称(数值变量,用以表示相应记录的权重系数)

 var 变量名称(待分析的数值变量);

run;

Proc means 语句后的选项主要用来指定所要计算的统计量,默认情况下,Means过程会给出频数、均数、标准差、最大值和最小值等,其余统计量的计算均需要在选项中指定。class语句所指定的分组变量用来进行分组,而by语句所指定的分组变量是用来将数据分为若干个更小的样本,以便SAS分别在各小样本内进行各自独立的处理。freq语句和weight语句分别引导代表记录出现频数和权重系数的数值变量。var语句引导所要进行分析的所有变量的列表,SAS将对var语句所引导的所有变量分别进行描述性统计分析

2. summary过程的一般格式

proc summary 选项列表;

 by 变量名称(分组变量);

 class 变量名称(分组变量);

 freq变量名称(数值变量,用以表示相应记录出现的频数)

 weight变量名称(数值变量,用以表示相应记录的权重系数)

 output <out=数据集名> <统计量关键字=自定义变量名>

 var 变量名称(待分析的数值变量);

run;

summary过程的格式和means过程可以说是完全相同的,各条语句和选项的含义也是相同的,包括在means过程中未列出的output语句也可以应用于means过程,只是此语句在summary过程应用较多(这样才能将分析结果显示出来),所以才将其列入一般格式中。output语句用来对分析结果输出为数据文件进行控制,其后的选项可有可无,若无则SAS按照默认方式进行。“out=数据集名”用来定义输出数据文件的文件名称,文件名的格式和数据步中数据文件名相同。“统计量关键字=自定义变量名”用来自定义输出数据文件中各种统计量的变量名称,前者是系统定义的(和proc语句后选项中的统计量关键字完全相同),必须正确无误,后者可自行定义。默认状态下输出统计量只有频数、均数、标准差、最大值和最小值,在默认状态不能满足需要时这一选项则是必需的。

3. univariate过程的一般格式

proc univariate 选项列表;

 by 变量名称(分组变量);

 class 变量名称(分组变量);

 freq变量名称(数值变量,用以表示相应记录出现的频数)

 weight变量名称(数值变量,用以表示相应记录的权重系数)

 histogram 变量名称/选项列表

 output <out=数据集名> <统计量关键字=自定义变量名>

pctlpts=<百分位数…> <指定需要的百分位数>

pctlpre=<新变量名列> <指定所需百分位数对应的输出变量名>

 var 变量名称(待分析的数值变量);

run;

univariate过程和以上两个过程的格式非常相似,相同的语句和选项其含义也相同,所不同的是某些统计量只能在univariate过程中计算(如众数),以及univariate过程中所具有的绘图功能。histogram语句即用来指示SAS对其后所指定的变量绘制直方图,其后的选项用来指示SAS添加不同类型的拟合图形(如正态分布的分布密度曲线)。

  4. tabulate过程的一般格式

proc tabulate 选项列表;

 by 变量名称(分组变量);

 class 变量名称(分组变量);

 freq变量名称(数值变量,用以表示相应记录出现的频数)

 weight变量名称(数值变量,用以表示相应记录的权重系数)

 table <<页变量表达式>,<行变量表达式>,<列变量表达式>></表格选项>

 var 变量名称(待分析的数值变量,统计量列入相应的表单元格);

run;

tabulate过程和上述几个过程的格式也基本相似,相同的语句和选项也代表相同的含义。最大的不同也是tabulate过程中最为重要的是table语句,他用来定义表格的具体格式以及表格中所要包括的统计量。

5. gchart过程的一般格式

proc gchart 选项列表;

 图形关键词变量名称/选项列表

run;

 

图形关键字

绘制的图形类型

block

方块图

hbar

水平的条形图

hbar3d

水平的三维条形图

vbar

竖立的条形图

vbar3d

竖立的三维条形图

pie

圆图

pie3d

三维圆图

donut

环形图

star

星形图

 

此过程格式简单,复杂的地方在于图形关键字(每个图形关键字对应一种图形类型)所引导的语句,这里是控制图形类型及图形要素的地方,涉及到众多的关键字和选项。gchart过程可以使用的图形关键字及其所绘制的图形类型见下表(表2.1)。

  表2.1gchart过程可以使用的图形关键字及其所绘制的图形类型

图形关键字后的变量名用以指定进行图形描述时的分组变量,可以是数值型的(此时以各组的组中值为分组的标志),也可以是字符型的。其后的选项比较重要的有:(1)type=统计量关键字,表示以图形对变量(sumvar所指定的变量)的哪一种统计量进行描述,比如频数(freq)、均数(mean)、总计(sum)、频数百分比(pctn)等;(2)subgroup=变量名(分组变量),指定要进行分组(各组段内再分组)的变量;(3)sumvar=变量名(数值变量),指定要进行统计计算的变量,也就是“type=统计量关键字”选项中统计量的计算所依据的变量。其它的选项较少用到或系统默认值即可基本满足要求,这里还是少罗嗦,以后用到再说。

  6. gplot过程的一般格式

proc gplot 选项列表;

 bubble 散点图表达式

 bubble2 散点图表达式

 plot散点图表达式

 plot2散点图表达式

run;

  从gplot过程的一般格式中我们就可看出,此过程只能绘制两种类型的图形,bubble语句指示SAS绘制泡状散点图,plot语句指示SAS绘制点状散点图。bubble2语句和plot2语句指示SAS在同一区域内(bubble2和bubble在同一区域,plot2和plot在同一区域)绘制第二个图形,两者的横坐标相同(同一变量),纵坐标分别位于左右两侧(可以是同一变量,也可以是两个不同的变量)。

  7. 散点图表达式的一般形式为:

  (1)bubble和bubble2语句:纵坐标变量名*横坐标变量名=泡尺寸变量名(变量值以泡的大小表示),三者均应为数值变量;

  (2)plot和plot2语句:纵坐标变量名*横坐标变量名<=n/分类变量名>,此处等号及其后的部分可以省略,此时SAS以默认的散点类型绘制散点图;若等号后为n(n为正整数,是散点类型的编号),SAS则以指定的编号对应的散点类型绘制散点图;若等号后为分类变量名(可为字符型或数值型,为数值型时作为离散型变量处理,每一个值将被当作一个类别),此变量的具体值(或与每个具体值对应的图形)将被作为散点用来绘制散点图

chart过程和plot过程的一般格式及各选项使用方法分别与gchart过程和gplot过程是基本相同的,不同之处仅在于后两者中涉及到有关三维和图形元素(颜色等)的语句和选项在前两者中是无效的。例如vbar3d语句在chart过程中无效,bubble语句在plot过程中无效。其余的语句和选项使用方法完全相同,所以在掌握了gchart过程和gplot过程后,chart过程和plot过程你会不学自通。
描述性统计关键字及其含义

SAS中可计算的描述性统计量多达二十余种,大部分可在以上介绍的前四个过程中计算,个别统计量在某些过程中不能计算,大家需要注意,要不然系统显示错误信息时还不知道是怎么回事。

  我经常遇到这种情况,系统提示错误(此类提示信息显示在log窗口中)时总是摸不着头脑,费半天劲才能搞明白。没办法,摸着石头过河嘛!不过这样也并非一无是处,最起码可以积累很多使用经验。

  下表(表2.2)列出SAS中可以计算的所有描述性统计量关键字及其含义,供大家使用时参考。

表2.2SAS中可以计算的描述性统计量关键字及其含义

关键字

所代表的含义

n

有效数据记录数

nmiss

缺失数据记录数

mean

均数

std

标准差

stderr

标准误

var

方差

median

中位数

mode

众数

cv

变异系数

max

最大值

min

最小值

range

全距

sum

总计

sumwgt

加权值总计

css

校正的离均差平方和

uss

未校正的离均差平方和

clm

可信限(上下界值)

lclm

可信限下侧界值

uclm

可信限上侧界值

skew(skewness)

偏度

kurt(kurtosis)

峰度

t

分布位置假设检验之t统计量

probt

上述t统计量对应的概率值

q1

第一四分位数

q3

第三四分位数

qrange

四分位数间距

p1

第一百分位数

p5

第五百分位数

p10

第十百分位数

p90

第九十百分位数

p95

第九十五百分位数

p99

第九十九百分位数

数据分析咨询请扫描二维码

客服在线
立即咨询