缺少值的逻辑条件

时间:2018-10-17 23:57:44

标签: spss

我正在使用“变换”>“计算变量”将两个变量(B,C)或在一起。我的两个变量的值可以为1、2或3。如果B或C为1,则我想计算第三个变量为1,否则为零。可行

A = (B=1) | (C=1)

但是,如果缺少B或C,我就会遇到麻烦。我想要的是

if B and C exist and B or C equals 1, A = 1
if B and C exist and neither equals 1, A = 0
if B is missing and C is missing, A = missing
if B or C is 1 and the other value is missing, A = 1
if B or C is not 1 and the other value is missing, A = 0

我可以使用“变换”>“计算变量”来完成此操作,还是需要另一种方法?

2 个答案:

答案 0 :(得分:2)

这是一个班轮:

compute A=max((B=1), (C=1)).
exe.

您可以通过转换菜单执行此操作,但是我建议您习惯使用语法(的强大功能)。

答案 1 :(得分:1)

您可以在语法窗口中编写此代码。 If variable exists被翻译为if ~miss(variable)

if ~miss(B) and ~miss(C) and any(1,B,C) A=1.
if ~miss(B) and ~miss(C) and ~any(1,B,C) A=0.
if miss(B) and miss(C) A=$sysmis.
if miss(B) or miss(C) and any(1,B,C) A=1.
if miss(B) or miss(C) and ~any(1,B,C) A=0.
EXECUTE.

或者,如果我正确理解您要执行的操作:

Compute A=0.
if any(1,B,C) A=1.
if miss(A) and miss(B) A=$sysmis.
EXECUTE.