我希望通过将变量中的每种情况除以该变量的均值来进行数据转换。我的数据集中有91个变量。我使用AGGREGATE函数创建方法:
AGGREGATE
/OUTFILE=* MODE = ADDVARIABLES
/BREAK=
/mean_1 to mean_91= MEAN(Var1 TO Var91).
此代码为我提供了同一数据集中每个变量的均值,但是为了将每种情况除以其均值,我创建了一个新的数据集,其命令可以重复自身。问题是要从“ mean_1”更改为“ mean_2”……“ mean_91”。
COMPUTE CMD = CONCAT("COMPUTE",RTRIM(Name),".Norm =",RTRIM(Name),"/mean",1,".").
我如何确保在下一行中,数字1变为2,然后变为3,依此类推?
答案 0 :(得分:2)
有一种简单得多的方法可以完成您的任务。在像您一样计算出均值之后,可以遍历所有变量,如下所示:
do repeat vr=var1 to var91 /mn=mean_1 to mean_91 /nrm=norm1 to norm91.
compute nrm=vr/mn.
end repeat.