2013-08-20 43 views
1

我想在循環中有if條件。這是隻要編號< 10, 檢查如果Modc_initial等於MODC,如果是true然後設置d = 12在循環中寫入If條件在SPSS中

這是我試過的代碼不工作,任何人都可以請幫忙。

如果LOOP(ID LT 10)

IF(Modc_initial EQ MODC))

COMPUTE d = 12。

END LOOP。

EXECUTE。

回答

0

您可以使用條件爲IF (condition) d = 12.的條件的一行或多行DO IF。下面我提供適合你的語法的DO IF的例子。

data list free/id MODC Modc_initial. 
begin data 
1 3 3 
2 3 5 
12 1 1 
end data. 

LOOP if (id LT 10). 
DO IF (Modc_initial EQ MODC). 
    COMPUTE d = 12. 
END IF. 
END LOOP IF (d = 12). 
EXECUTE. 

請注意,您在初始的LOOP上缺少原始語法的句號。我還添加了一個結束循環條件,否則編寫的代碼將一直持續到您的系統的最大循環數。

+0

我修改代碼來 '如果LOOP(ID LT 10).' 'DO IF(Modc_initial EQ MODC).' 'COMPUTE d = 12.' 'END IF.' 'END LOOP如果(id EQ 10).' 'EXECUTE.' 但是我得到錯誤「執行一個循環在MXLOOPS跳閘後終止.MXLOOPS的值可以用SHOW命令顯示並且用SET命令改變。 爲什麼會發生這種情況,如果循環運行9次?即:編號:1 - 9 –

+0

@learn_code,看着我的代碼,我的第二種情況應該會收到類似的錯誤。看看循環中的幫助部分,聽起來像你想要'LOOP #i = 1到9'這樣的東西,而不是直到結束條件的條件循環。 –