
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 |
var 变量名称(待分析的数值变量); |
run; |
summary过程的格式和means过程可以说是完全相同的,各条语句和选项的含义也是相同的,包括在means过程中未列出的output语句也可以应用于means过程,只是此语句在summary过程应用较多(这样才能将分析结果显示出来),所以才将其列入一般格式中。output语句用来对分析结果输出为数据文件进行控制,其后的选项可有可无,若无则SAS按照默认方式进行。“out=数据集名”用来定义输出数据文件的文件名称,文件名的格式和数据步中数据文件名相同。“统计量关键字=自定义变量名”用来自定义输出数据文件中各种统计量的变量名称,前者是系统定义的(和proc语句后选项中的统计量关键字完全相同),必须正确无误,后者可自行定义。默认状态下输出统计量只有频数、均数、标准差、最大值和最小值,在默认状态不能满足需要时这一选项则是必需的。
3. univariate过程的一般格式
proc univariate 选项列表; |
by 变量名称(分组变量); |
class 变量名称(分组变量); |
freq变量名称(数值变量,用以表示相应记录出现的频数) |
weight变量名称(数值变量,用以表示相应记录的权重系数) |
histogram 变量名称/选项列表 |
output 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 |
第九十九百分位数 |
推荐学习书籍
《CDA一级教材》适合CDA一级考生备考,也适合业务及数据分析岗位的从业者提升自我。完整电子版已上线CDA网校,累计已有10万+在读~
免费加入阅读:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA 数据分析师报考条件全解析:开启数据洞察之旅 在当今数字化浪潮席卷全球的时代,数据已成为企业乃至整个社会发展的核心驱 ...
2025-07-01深入解析 SQL 中 CASE 语句条件的执行顺序 在 SQL 编程领域,CASE语句是实现条件逻辑判断、数据转换与分类的重要工 ...
2025-07-01SPSS 中计算三个变量交集的详细指南 在数据分析领域,挖掘变量之间的潜在关系是获取有价值信息的关键步骤。当我们需要探究 ...
2025-07-01CDA 数据分析师:就业前景广阔的新兴职业 在当今数字化时代,数据已成为企业和组织决策的重要依据。数据分析师作为负责收集 ...
2025-06-30探秘卷积层:为何一个卷积层需要两个卷积核 在深度学习的世界里,卷积神经网络(CNN)凭借其强大的特征提取能力 ...
2025-06-30探索 CDA 数据分析师在线课程:开启数据洞察之旅 在数字化浪潮席卷全球的当下,数据已成为企业决策、创新与发展的核心驱 ...
2025-06-303D VLA新范式!CVPR冠军方案BridgeVLA,真机性能提升32% 编辑:LRST 【新智元导读】中科院自动化所提出BridgeVLA模型,通过将 ...
2025-06-30LSTM 为何会产生误差?深入剖析其背后的原因 在深度学习领域,LSTM(Long Short-Term Memory)网络凭借其独特的记忆单元设 ...
2025-06-27LLM进入拖拽时代!只靠Prompt几秒定制大模型,效率飙升12000倍 【新智元导读】最近,来自NUS、UT Austin等机构的研究人员创新 ...
2025-06-27探秘 z-score:数据分析中的标准化利器 在数据的海洋中,面对形态各异、尺度不同的数据,如何找到一个通用的标准来衡量数据 ...
2025-06-26Excel 中为不同柱形设置独立背景(按数据分区)的方法详解 在数据分析与可视化呈现过程中,Excel 柱形图是展示数据的常用工 ...
2025-06-26CDA 数据分析师会被 AI 取代吗? 在当今数字化时代,数据的重要性日益凸显,数据分析师成为了众多企业不可或缺的角色 ...
2025-06-26CDA 数据分析师证书考取全攻略 在数字化浪潮汹涌的当下,数据已成为企业乃至整个社会发展的核心驱动力。数据分析师作 ...
2025-06-25人工智能在数据分析的应用场景 在数字化浪潮席卷全球的当下,数据以前所未有的速度增长,传统的数据分析方法逐渐难以满足海 ...
2025-06-25评估模型预测为正时的准确性 在机器学习与数据科学领域,模型预测的准确性是衡量其性能优劣的核心指标。尤其是当模型预测结 ...
2025-06-25CDA认证:数据时代的职业通行证 当海通证券的交易大厅里闪烁的屏幕实时跳动着市场数据,当苏州银行的数字金融部连夜部署新的风控 ...
2025-06-24金融行业的大数据变革:五大应用案例深度解析 在数字化浪潮中,金融行业正经历着深刻的变革,大数据技术的广泛应用 ...
2025-06-24Power Query 中实现移动加权平均的详细指南 在数据分析和处理中,移动加权平均是一种非常有用的计算方法,它能够根据不同数据 ...
2025-06-24数据驱动营销革命:解析数据分析在网络营销中的核心作用 在数字经济蓬勃发展的当下,网络营销已成为企业触达消费者 ...
2025-06-23随机森林模型与 OPLS-DA 的优缺点深度剖析 在数据分析与机器学习领域,随机森林模型与 OPLS-DA(正交偏最小二乘法判 ...
2025-06-23