DO IF (WB4 = 1).
RECODE WB5 (0=0) (1=1) (2=2) (3=3) (4=4) (5=5) INTO WB5_1.
IF (WB4 = 2).
RECODE WB5 (0=5) (1=6) (2=7) (3=8) INTO WB5_1.
IF (WB4 = 3).
RECODE WB5 (0=8) (1=9) (2=10) INTO WB5_1.
IF (WB4 = 4).
RECODE WB5 (0=10) (1=11) (2=12) (3=13) (4=14) (5=15) (6=16) (7=17) INTO WB5_1.
END IF.
EXECUTE.
我正在尝试使用多个选项开发一个新变量,方法是连接两个变量的选项以创建一个新变量。请指导我,我有一个错误。
答案 0 :(得分:1)
如果出现错误,您应该发布包含问题的错误消息。
在这种情况下,问题可能是使用IF语句而不是pf DO IF IF只采用像compute这样的简单语句。而是使用
DO IF条件。
RECODE ...
结束如果。
答案 1 :(得分:0)
正如JKP所指出的那样,不发布错误会使完全调试语法变得有点困难。
有人认为我可以告诉你的是你明显错过了使用IF
命令:它需要有2个参数:
IF [condition] [transformation].
你只有条件,然后是RECODE
命令; IF
不起作用。
可以在DO IF
END IF
结构中工作,但您需要提供这两个参数。
或者,您可以使用IF
ELSE IF
END IF
结构(您只需要在当前语法中添加“else”:
DO IF (WB4 = 1).
RECODE WB5 (0=0) (1=1) (2=2) (3=3) (4=4) (5=5) INTO WB5_1.
ELSE IF (WB4 = 2).
RECODE WB5 (0=5) (1=6) (2=7) (3=8) INTO WB5_1.
ELSE IF (WB4 = 3).
RECODE WB5 (0=8) (1=9) (2=10) INTO WB5_1.
ELSE IF (WB4 = 4).
RECODE WB5 (0=10) (1=11) (2=12) (3=13) (4=14) (5=15) (6=16) (7=17) INTO WB5_1.
END IF.
EXECUTE.