如何标准化 sas 中的数据


“标准化”一组数据值意味着对这些值进行缩放,使得所有值的平均值为 0,标准差为 1。

本教程介绍如何标准化 SAS 中的数据。

示例:如何标准化 SAS 中的数据

假设我们有以下数据集:

完成以下步骤,在 SAS 中标准化这组数据值。

第 1 步:创建数据集

首先,我们使用以下代码在 SAS 中创建数据集:

 /*create dataset*/
data original_data;
    input values;
    datalines ;
12
14
15
15
16
17
18
20
24
25
26
29
32
34
37
;
run ;

/*view mean and standard deviation of dataset*/
proc means data =original_data Mean StdDev ndec= 3 ; 
   var values;
run ; 

从结果中我们可以看到数据集的均值是22.267 ,标准差是7.968

第 2 步:标准化数据集

接下来,我们将使用proc stdize来标准化数据集:

 /*normalize the dataset*/
proc stdize data =original_data out =normalized_data;
   var values;
run ;

/*print normalized dataset*/
proc print data =normalized_data;
 
/*view mean and standard deviation of normalized dataset*/
proc means data =normalized_data Mean StdDev ndec= 2 ; 
   var values;
run ; 

从结果中我们可以看到,归一化数据集的均值是0 ,标准差是1

第 3 步:解释标准化数据

SAS 使用以下公式对数据值进行标准化:

归一化值 = (x – x ) / s

金子:

  • x = 数据值
  • x = 数据集的平均值
  • s = 数据集的标准差

每个标准化值告诉我们原始数据值和平均值之间的标准偏差数。

例如,考虑原始数据集中的数据点“12”。原始样本平均值为 22.267,原始样本标准差为 7.968。

“12”的标准化值为 -1.288,计算如下:

标准化值 = (x – x ) / s = (12 – 22.267) / 7.968 = -1.288

这告诉我们,值“12”比原始数据集的平均值低 1.288 个标准差

数据集中的每个归一化值都可以帮助我们了解特定数据值与平均值的距离有多近或多远。

较小的归一化值表示该值接近平均值,而较大的归一化值表示该值远离平均值。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

如何在SAS中使用过程摘要
如何在SAS中计算相关性
如何在SAS中创建频率表

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注