SAS - 标准差

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

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


使用 PROC MEANS

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

语法

SAS中计算标准差的基本语法是 −

PROC means DATA = dataset STD;

以下是使用的参数说明 −

  • Dataset − 是数据集的名称。

示例

在下面的示例中,我们从 SASHELP 库中的 CARS 数据集创建数据集 CARS1。 我们选择带有 PROC 意味着步骤的 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;

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

Result for make = "Audi"

SD_3.JPG

Result for make = "BMW"

SD_3.JPG