【发布时间】:2017-08-29 20:27:31
【问题描述】:
免责声明:这主要是一个样式/最佳实践问题,因为我确实有一个使用宏变量(如下所述)的功能解决方案,因此可能不适合本网站。
给定一个非标准化风险评分数据集,例如:
数据集_1:
Person, Score
A, 1.00
B, 4.00
C, 2.35
...
我想标准化,使算术平均值为 1.0。我可以总结这个数据集,得出平均风险评分,然后将每个观察结果除以该风险评分。例如:
过程摘要 ....;通过一次观察生成数据集:
数据集_2:
Avg_Score
2.5
然后使用:
Data _null_; Set Dataset_2;
Call Symput("NormFactor", Avg_Score);
Run;
还有:
Data NormalizedScores;
Set Dataset_1;
Score_Norm = Score / &NormFactor.;
Run;
但是,这对我来说似乎是垃圾代码。有没有更好的方法来做到这一点?
【问题讨论】: