如何在 sas 中使用 proc stdize(附示例)


标准化变量意味着缩放每个变量的值,使得平均值为 0,标准差为 1。

您可以使用以下公式来标准化变量

( xix ) / s

金子:

  • x i :数据集的第 i 个
  • x :样本平均值
  • s :样本的标准差

在 SAS 中标准化变量的最简单方法是使用PROC STDIZE语句。

下面的例子展示了如何在实践中使用这个语句。

示例:如何在 SAS 中使用 PROC STDIZE

假设我们在 SAS 中有以下数据集,其中包含有关各种篮球运动员的信息:

 /*create first dataset*/ 
data my_data;
    input player $ points assists rebounds;
    datalines ;
A 18 3 15
B 20 3 14
C 19 4 14
D 14 5 10
E 14 4 8
F 15 7 14
G 20 8 13
H 28 7 9
I 30 6 5
J 0 31 9 4
;
run ;

/*view dataset*/
proc print data =my_data;

我们可以使用PROC STDIZE语句创建一个新数据集,该数据集标准化数据集中的每个数值变量:

 /*standardize all numeric variables in dataset*/
proc stdize data =my_data out =std_data;
run ;

/*view new dataset*/
proc print data =std_data; 

每个数值变量(得分、助攻、篮板)均经过标准化,平均值为 0,标准差为 1。

请注意,我们还可以使用VAR语句来指定要规范化的变量。

例如,我们可以将以下PROC STDIZE语句与VAR语句结合使用,仅对点变量进行标准化:

 /*standardize points variable in dataset*/
proc stdize data =my_data out =std_data;
    var points;
run ;

/*view new dataset*/
proc print data =std_data; 

点列中的值已标准化,而所有其他列保持不变。

我们可以使用PROC MEANS语句来验证点变量现在的平均值为 0,标准差为 1:

 /*view mean and standard deviation of each variable*/
proc means data =std_data; 

我们看到,points 变量的平均值为 0,标准差为 1。

其他资源

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

SAS中如何删除缺失值的行
如何在 SAS 中计算标准差(3 个示例)
如何在 SAS 中计算 Z 分数

添加评论

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