SAS - 标准差



标准差 (SD) 是衡量数据集中的数据变化程度的指标。从数学上讲,它衡量每个值与数据集的平均值的距离或接近程度。接近 0 的标准差值表示数据点倾向于非常接近数据集的平均值,而较高的标准差值表示数据点分布在较宽的值范围内。

在 SAS 中,SD 值是使用 PROC MEAN 和 PROC SURVEYMEANS 来衡量的。

使用 PROC MEANS

要使用proc means 测量 SD,我们在 PROC 步骤中选择 STD 选项。它会显示数据集中每个数值变量的 SD 值。

语法

在 SAS 中计算标准差的基本语法如下:

PROC means DATA = dataset STD;

以下是所用参数的描述:

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

示例

在下面的示例中,我们从 SASHELP 库中的 CARS 数据集创建 CARS1 数据集。我们在 PROC MEANS 步骤中选择 STD 选项。

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

proc means data = CARS1 STD;
run;

当我们执行以上代码时,它会给出以下输出:

SD_1.JPG

使用 PROC SURVEYMEANS

此过程也用于测量 SD,以及一些高级功能,例如测量分类变量的 SD 以及提供方差估计。

语法

使用 PROC SURVEYMEANS 的语法如下:

PROC SURVEYMEANS options statistic-keywords ;
BY variables ;
CLASS variables ;
VAR variables ;

以下是所用参数的描述:

  • BY - 指示用于创建观测组的变量。

  • CLASS - 指示用于分类变量的变量。

  • VAR - 指示将计算 SD 的变量。

示例

以下示例描述了class选项的使用,该选项为类别变量中的每个值创建统计数据。

proc surveymeans data = CARS1 STD;
class type;
var type horsepower;
ods output statistics = rectangle;
run;
proc print data = rectangle;
run;

当我们执行以上代码时,它会给出以下输出:

SD_2.JPG

使用 BY 选项

以下代码给出了 BY 选项的示例。在其中,结果按 BY 选项中的每个值进行分组。

示例

proc surveymeans data = CARS1 STD;
var horsepower;
BY make;
ods output statistics = rectangle;
run;
proc print data = rectangle;
run;

当我们执行以上代码时,它会给出以下输出:

make = "Audi" 的结果

SD_3.JPG

make = "BMW" 的结果

SD_3.JPG
广告