2

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

4

1 回答 1

2

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

do repeat vr=var1 to var91 /mn=mean_1 to mean_91 /nrm=norm1 to norm91.
   compute nrm=vr/mn.
end repeat.
于 2019-01-28T16:18:22.977 回答