SAS - 散点图


散点图是一种图表类型,它使用在笛卡尔平面上绘制的两个变量的值。它通常用于找出两个变量之间的关系。在 SAS 中,我们使用PROC SGSCATTER来创建散点图。

请注意,我们在第一个示例中创建了名为 CARS1 的数据集,并对所有后续数据集使用相同的数据集。该数据集保留在工作库中,直到 SAS 会话结束。

句法

在 SAS 中创建散点图的基本语法是 -

PROC sgscatter  DATA = DATASET;
   PLOT VARIABLE_1 * VARIABLE_2
   / datalabel = VARIABLE group = VARIABLE;
RUN;

以下是所使用参数的描述 -

  • DATASET是数据集的名称。

  • VARIABLE是从数据集中使用的变量。

简单散点图

在简单的散点图中,我们从数据集中选择两个变量,并根据第三个变量对它们进行分组。我们还可以对数据进行标记。结果显示了两个变量如何在笛卡尔平面中分散。

例子

PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
FROM 
SASHELP.CARS
WHERE make in ('Audi','BMW')
;
RUN;

TITLE 'Scatterplot - Two Variables';
PROC sgscatter  DATA = CARS1;
   PLOT horsepower*Invoice 
   / datalabel = make group = type grid;
   title 'Horsepower vs. Invoice for car makers by types';
RUN; 

当我们执行上面的代码时,我们得到以下输出 -

sactter_plot1

带预测的散点图

我们可以使用估计参数通过在值周围绘制椭圆来预测之间的相关强度。我们使用过程中的附加选项来绘制椭圆,如下所示。

例子

proc sgscatter data = cars1; 
compare y = Invoice  x = (horsepower length)  
         / group = type  ellipse =(alpha = 0.05 type = predicted); 
title
'Average Invoice vs. horsepower for cars by length'; 
title2
'-- with 95% prediction ellipse --'
; 
format
Invoice dollar6.0;
run;

当我们执行上面的代码时,我们得到以下输出 -

sactter_plot_eliipse

散点矩阵

我们还可以通过将两个以上变量分组来获得包含两个以上变量的散点图。在下面的示例中,我们考虑三个变量并绘制散点图矩阵。我们得到 3 对结果矩阵。

例子

PROC sgscatter  DATA = CARS1;
   matrix horsepower invoice length
   / group = type;

   title 'Horsepower vs. Invoice vs. Length for car makers by types';
RUN; 

当我们执行上面的代码时,我们得到以下输出 -

sactter_plot_matrix