如何在 sas 中使用 proc stdize(附示例)
标准化变量意味着缩放每个变量的值,使得平均值为 0,标准差为 1。
您可以使用以下公式来标准化变量
( xi – x ) / 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 中执行其他常见任务: