京公网安备 11010802034615号
经营许可证编号:京B2-20210330
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;
|
此过程格式简单,复杂的地方在于图形关键字(每个图形关键字对应一种图形类型)所引导的语句,这里是控制图形类型及图形要素的地方,涉及到众多的关键字和选项。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 |
第九十九百分位数 |
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
【核心关键词】贷款、报表、课程、专业、建模、缺失值、营销、互联网、银行、办公自动化、数据分析、数据预处理、特征工程、贷 ...
2026-06-05在数据库数据查询、业务报表统计、多表关联分析中,LEFT JOIN左连接是使用率最高的SQL关联查询语句。其核心特性是保留左表全部数 ...
2026-06-05 很多数据分析师能熟练地写SQL、做透视表、算描述性统计,但当被问到“如何预测用户流失概率”“如何归因销量下滑的关键因素 ...
2026-06-05任何一款产品从诞生、普及到最终退出市场,都会遵循一套固定的发展规律,这就是产品生命周期理论。在市场竞争日益激烈、产品迭代 ...
2026-06-04在Excel数据分析、办公统计、业务报表制作场景中,数据透视表是数据汇总、分类统计、快速复盘的核心工具,能够高效完成海量原始 ...
2026-06-04 很多数据分析师拿到数据就开始清洗、建模,但当被问到“这批数据属于什么类型——结构化还是非结构化?分类变量还是数值变量 ...
2026-06-04在问卷调查与社会科学数据分析中,卡方检验是最常用、最基础的非参数检验方法,广泛应用于市场调研、用户分析、行为统计、满意度 ...
2026-06-03【核心关键词】贷款、报表、课程、专业、建模、缺失值、营销、互联网、银行、办公自动化、数据分析、数据预处理、特征工程、贷 ...
2026-06-03 很多数据分析师画过趋势图、做过业绩预测,但当被问到“这个月销售额增长20%,到底是长期趋势自然增长,还是促销活动的短期 ...
2026-06-03逻辑回归是数据分析、机器学习、统计建模中应用最广泛的二分类预测模型,常用于风险判断、行为预测、归因分析等场景。在SPSS、Py ...
2026-06-02数字经济时代,市场竞争日趋同质化,用户消费需求愈发个性化、多元化,传统依托经验、粗放式、广撒网的营销模式弊端日益凸显。长 ...
2026-06-02 很多数据分析师做过按月份的销售额趋势图,画过按天的流量折线图,但当被问到“时间序列和普通数据有什么本质区别”“季节性 ...
2026-06-02在市场竞争日趋饱和、用户需求不断细分的当下,企业创业创新、产品迭代与市场拓展不再依赖经验决策,而是需要系统化、工具化的商 ...
2026-06-01【核心关键词】调度、岗位、数据库、企业、报表、培训、程序、数据分析、数据加工、业务部门、企业数据、调度工具、业务指标、 ...
2026-06-01 很多数据分析师能熟练地计算指标、搭建标签体系,但当被问到“画像到底在解决什么问题”“画像和标签是什么关系”“画像如何 ...
2026-06-01在数据统计分析、数据清洗、异常值识别与数据分布研究中,箱型图是最直观、高效、专业的可视化分析工具。相较于柱状图、折线图仅 ...
2026-05-29Tkinter是Python内置的标准GUI图形界面库,具备无需额外安装、调用简单、兼容性强、轻量化高效等优势,是Python快速开发桌面小程 ...
2026-05-29 很多分析师在设计标签时思路清晰,但真到落地环节却面临“数据在手,不知如何转化为可用标签”的困境:或因加工方式选择不当 ...
2026-05-29【核心关键词】大数据、经理、专业、金融、客户、传统、建模、数据产品、互联网金融、产品经理、数据分析、金融行业、数据模型 ...
2026-05-28 很多分析师每天和数据打交道,但当被问到“标签是什么”“标签和指标有什么区别”“标签体系如何设计”时,却常常答不上来。 ...
2026-05-28