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