SAS - 散点图



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

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

语法

在 SAS 中创建散点图的基本语法如下:

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

以下是使用的参数说明:

  • 数据集是数据集的名称。

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

简单的散点图

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

示例

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
广告