Syntax 更改SPPS usin语法中的值

Syntax 更改SPPS usin语法中的值,syntax,spss,Syntax,Spss,我需要你的帮助,最近我在工作中遇到了一个问题。我必须制作一个脚本,将“0”从出现的第一个“1”更改为“1”。让我给你举个例子: | VAR1 | VAR2 | VAR3 | VAR4 | ROW1 | 0 | 0 | 0 | 0 | ROW2 | 0 | 0 | 1 | 0 | ROW3 | 1 | 0 | 0 | 0 | ROW4 | 0 | 1

我需要你的帮助,最近我在工作中遇到了一个问题。我必须制作一个脚本,将“0”从出现的第一个“1”更改为“1”。让我给你举个例子:

         | VAR1 | VAR2 | VAR3 | VAR4 | 

  ROW1   |  0   |  0   |  0   |  0   |  
  ROW2   |  0   |  0   |  1   |  0   |  
  ROW3   |  1   |  0   |  0   |  0   | 
  ROW4   |  0   |  1   |  0   |  0   |
必须转换为:

         | VAR1 | VAR2 | VAR3 | VAR4 | 

  ROW1   |  0   |  0   |  0   |  0   |  
  ROW2   |  0   |  0   |  1   |  1   |  
  ROW3   |  1   |  1   |  1   |  1   | 
  ROW4   |  0   |  1   |  1   |  1   |
我尝试了这段代码,但没有成功:

IF ( VAR1 EQ '1'){
  VAR2 = '1'
  VAR3 = '1'
  VAR4 = '1'
}.

IF ( VAR2 EQ '1'){
  VAR3 = '1'
  VAR4 = '1'
}.

IF ( VAR3 EQ '1'){
  VAR4 = '1'
}.
任何人都可以帮我一点忙,我对SPSS的语法了解不多

提前谢谢


对不起,我的英语还在学习。

我想我明白了。这不是很简单吗

if var1=1 var2=1.
if var2=1 var3=1.
if var3=1 var4=1.
你可以

do if var1=1.
compute var2=1.
compute var3=1.
compute var4=1.
else if var2=1 and var1 ne 1.
compute var3=1.
compute var4=1.
else if var3=1 and var2 ne 1 and var1 ne 1.
compute var4=1.
end if.

使用
DO REP-END REP
的解决方案

do rep var = var1 to var4.
comp var = max(var1 to var).
end rep.

@djhurio的帖子几乎是正确的。但是您必须使用var2启动do repeat过程。否则,当SPSS试图计算MAX(var1到var1)时,您将得到一个错误


通过接受答案,您可以随意将其标记为已回答。或多或少,请参见示例。如果var=1,则var2和var3以及var等于1。但我不能按程序来做。
DO REPEAT var = var2 TO var4.
   COMPUTE var = MAX(var1 TO var).
END REPEAT.
EXECUTE.