对多个变量求和,省略具有特定值的变量

  • 本文关键字:变量 求和 spss
  • 更新时间 :
  • 英文 :


我正在使用SPSS,并希望创建一个容纳一组先前变量的总和的新变量。问题是:如果任何变量被记录为"9"那我就得把它们删掉

是否有一个命令使这相对容易?我曾想过做DO IF,但它似乎会变得非常繁琐的6个变量,因为我必须编码每个可能的实例,除非我错了。如果有更简单的方法,我只是没能找到,我会永远感激!

这是我认为需要做的,但绝对可能是错误的:

DO IF (var1<=4 AND var2<=4 AND var3<=4 AND var4<=4 AND var5<=4 AND var6<=4).
COMPUTE newvar=SUM(var1,var2,var3,var4,var5,var6).
ELSE IF (var1<=4 AND var2<=4 AND var3<=4 AND var4<=4 AND var5<=4 AND var6=9).
COMPUTE newvar=SUM(var1,var2,var3,var4,var5).
/* And so on and so forth for each possible variation of the sum.

这并不是说它不起作用,我只是在提交时间之前检查一下是否有更简单的方法。

下面是一些让它更短的方法:

missing values var1 to var6(9).
compute newvar=sum(var1 to var6).

现在,如果你不想把value 9标记为缺失,而是想把它全部去掉:

recode var1 to var6(9=sysmis).
compute newvar=sum(var1 to var6).

如果您不想更改数据中的任何内容,您可以执行:

missing values var1 to var6(9).
compute newvar=sum(var1 to var6).
missing values var1 to var6().

如果所有这些解决方案对你来说都有问题,这里是经典的循环解决方案:

compute newvar=0.
do repeat vr=var1 to var6.
if vr<>9 newvar=newvar+vr.
end repeat.
exe.

这里是另一个解决方案,只是为了好玩:

count nines=var1 to var6(9).
compute newvar=sum(var1 to var6) - nines*9.

最新更新