使用SPSS语法计算数据

时间:2013-08-29 17:10:32

标签: spss frequency

我使用条件

计算以下SPSS语法
DATASET ACTIVATE Conjunto_de_datos1.
DO IF  (((p7_1 = 1) | (p7_2 = 1)) & (periodo = 2)).
COUNT noque_o_noria=p7_2 p7_1(1).
END IF.
EXECUTE.

数据如下:

p7_1    p7_2    periodo
1   1   2
1   0   2
1   1   2
1   1   1
1   1   1
0   1   2

我遇到的问题是,在新列中,符合规则的每一行自动给出值2,而不符合规则的行是丢失值(空)。 我应该在上面的代码中添加什么来在符合规则时检索我1而在不符合规则时检索0?

3 个答案:

答案 0 :(得分:2)

您不需要那么多语法来做到这一点。刚

compute noque_o_noria=(p7_2 = 1 or p7_1 = 1) and periodo = 2.

会做的。

答案 1 :(得分:1)

COUNT命令没有意义,因此您可以改为使用COMPUTE noque_o_noria = 1,然后指定ELSE条件,例如

DO IF  (((p7_1 = 1) | (p7_2 = 1)) & (periodo = 2)).
  COMPUTE noque_o_noria = 1.
ELSE.
  COMPUTE noque_o_noria = 0.
END IF.

答案 2 :(得分:1)

我怀疑先前已定义了periodo变量,DO IF保持旧值不变。

如果变量是新的,则DO IF绕过的情况将具有sysmis值。对于由COUNT处理的情况,对于每种情况,变量初始化为零。