将值除以许多变量的平均值

Dividing the values by their mean for many variables

我希望通过将变量中的每个个案除以该变量的均值来进行数据转换。我的数据集中有 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,依此类推?

有一种更简单的方法可以完成您的任务。像您一样计算均值后,您可以像这样遍历所有变量:

do repeat vr=var1 to var91 /mn=mean_1 to mean_91 /nrm=norm1 to norm91.
   compute nrm=vr/mn.
end repeat.