2013-08-20 67 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'这样的东西,而不是直到结束条件的条件循环。 –