在数据驱动的决策过程中,快速的决策制定至关重要,这确保了在竞争中保持领先。数据可视化在两个关键阶段提供帮助:在探索性数据分析期间以及在传达结果和发现时。本文将探讨数据可视化的四种应用及其在SAS中的实现。为了更好地理解,使用样本数据集来创建这些可视化。以下是数据可视化的主要方面:
包括条形图、折线图、条线图、柱状图、分组柱状图。
条形图,也称为条形图,使用长度与它们所代表的值成比例的矩形条来表示分组数据。条形可以垂直或水平绘制。垂直条形图有时被称为柱状图。
proc sgplot data = discuss;
hbar category/response = views stat = sum
datalabel datalabelattrs=(weight=bold);
title '按类别总览';
run;
目标:想通过条形图图形化地了解每个类别的浏览量。
柱状图通常是不言自明的。它们只是条形图的垂直版本,其中条的长度等于它们所代表的值的大小。这里有一个技巧:将上述图表旋转-90度,它将变成柱状图。
proc sgplot data = discuss;
hbar category/response = views stat = sum
datalabel datalabelattrs=(weight=bold) barwidth = 0.5; /* 为条形分配宽度 */
title '按类别总览';
run;
代码解释:类别:根据该变量对数据进行分组。响应 = 视图:由stat = 选项指定的统计信息是针对按类别变量分组的视图变量计算的。Datalabel选项指定希望为每个条形显示计算出的值。Weight = bold选项指定每个条形的数据标签以粗体显示。Bar width选项用于为条形分配宽度。默认值为0.8,范围为0.1-1。
这种表示形式在可视化两个类别的数据分布时非常有用。
data discuss_date;
set discuss;
month = month(DatePosted);
month_name=PUT(DatePosted,monname.);
put month_name= @;
run;
proc sgplot data=discuss_date;
vbar category/ response=views group=month_name groupdisplay=cluster
datalabel datalabelattrs = (weight = bold) dataskin=gloss; yaxis grid;
run;
目标:想通过类别和发布日期分析讨论论坛中主题的总浏览量。
折线图或折线图是一种图表,它将信息显示为一系列称为“标记”的数据点,这些数据点通过直线段连接。折线图通常用于可视化数据随时间间隔的趋势——一个时间序列——因此线条通常是按时间顺序绘制的。在这些情况下,它们被称为运行图。
proc sgplot data = clicks;
vline date/response = PGDBA_IIM_ ;
vline date/response = PGPBA_Praxis_;
yaxis label = "点击量";
run;
目标:想比较不同时间段的预计销售额与实际销售额。
包括气泡图、散点图。
气泡图是一种图表,它显示数据的三个维度。每个实体及其三元组(v1,v2,v3)的关联数据被绘制为一个圆盘,该圆盘通过圆盘的xy位置表示两个vi值,并通过其大小表示第三个。
proc sgplot data = os;
bubble X=expenses Y=sales size= profit
/fillattrs=(color = teal) datalabel = Location;
run;
目标:想通过气泡图了解不同操作系统的成本、销售额和利润之间的关系。
简单的两个变量之间的散点图可以给一个关于它们之间关系的概念——线性、指数等。这些信息可以在进一步分析中有所帮助。
proc sgplot data = os;
title '利润与销售额的关系';
scatter X= sales Y = profit/
markerattrs=(symbol=circlefilled size=15);
run;
目标:想通过散点图了解利润与销售额之间的关系。
包括直方图、散点图。
直方图是数值数据分布的图形表示。它是连续变量概率分布的估计。构建直方图的第一步是“分箱”——即,将值的范围划分为一系列小区间——然后计算有多少值落入每个区间。直方图的箱(区间)通常是连续的、不重叠的区间。直方图的矩形是相互接触的,以表明原始变量是连续的。
proc sgplot data = sashelp.cars;
histogram msrp/fillattrs=(color = steel)scale = proportion;
density msrp;
run;
目标:想通过直方图了解MSRP变量的分布情况。
在散点图中,数据被显示为一系列点,每个点的值由一个变量决定水平轴上的位置,另一个变量的值决定垂直轴上的位置。它可以用来查看数据的分布和评估变量之间的关系。
proc sgplot data = discuss;
scatter X= dateposted Y = views/group=category
markerattrs=(symbol=circlefilled size=15);
run;
目标:想通过散点图了解不同类别的帖子发布日期与浏览量之间的关系。
包括堆叠柱状图。
在堆叠条形图中,堆叠条形代表彼此之上的不同组。结果条形的高度显示了组的组合结果。
proc sgplot data=os;
title '按位置和项目划分的实际销售额';
vbar Item / response=Sales group=Location stat=percent datalabel;
xaxis display=(nolabel);
yaxis grid label='销售额';
run;