我使用条件
计算以下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?
答案 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处理的情况,对于每种情况,变量初始化为零。