SPSS If 语句具有多个条件

问题描述 投票:0回答:1

在SPSS语法中,我试图创建一个过滤器,指示如果所有变量都为1,它将返回一个指示1的摘要变量。

我在 SPSS 语法中尝试了以下方法:

if (var1 TO var25 = 1 AND var29 TO var54 = 1) filtervar = 1.

给了我以下错误:

2937 如果表达式包含无效或不恰当的使用 TO 关键字。 TO 关键字可用于 MEAN、SUM 等 类似的函数代替输入单个变量名称,但是 它可能无法在其他情况下使用。

我知道很长的路要写:

if (var1 = 1 & var2 = 1 & var3 =1 ...) filtervar=1.

但这会花费太长的时间(我有 74 个变量!我也希望脚本简洁)。

有什么推荐吗?

conditional-statements spss
1个回答
0
投票

如果您检查的所有变量都是二分的(如 0 或 1),那么一种方法是这样的:

compute filtervar=1.
if any(0, var1 TO var25, var29 TO var54) filtervar=0.

(也

compute filtervar=1 - any(0, var1 TO var25, var29 TO var54).

现在如果还有其他可能的值,那么我们需要更复杂的东西。一种方法是循环变量:

compute filtervar=1.
do repeat vr=var1 TO var25 var29 TO var54.
  if vr<>1 filtervar=0.
end repeat.

这两种可能性都不会处理缺失值 - 如果确实有缺失值,您应该定义在其中一个变量中存在缺失值的情况下

filtervar
应该发生什么,我们可以在语法中处理它。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.