2016-10-01 26 views
0
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. 

我想通過連接兩個變量的選項來創建一個新變量,使用多個選項來創建一個新變量。請指導我我有一個錯誤。語法在SPSS中使用recode命令時的錯誤

回答

1

當您發生錯誤時,您應該在問題中發佈錯誤消息。

在這種情況下,雖然,這個問題很可能是使用if語句,而不是pf的做,如果IF只需要一個簡單的聲明一樣計算。請使用 DO IF條件。
RECODE ...
END IF。

0

正如JKP所指出的,不發佈錯誤使得完全調試語法有點困難。

一想我可以從一開始去告訴你的是,你都清楚了IF命令使用錯失:它需要有2個參數:

IF [condition] [transformation].

你只要具備條件,其次是命令RECODE; IF不能這樣工作。 它可以一個DO IFEND IF結構內的工作,但你需要提供兩個參數。

或者,您也可以使用IFELSE IFEND IF結構(你只需要在當前的語法添加了「其他」 S:

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.